]> git.baikalelectronics.ru Git - kernel.git/commit
drm: of: Properly try all possible cases for bridge/panel detection
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>
Tue, 29 Mar 2022 13:27:32 +0000 (15:27 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Wed, 30 Mar 2022 08:16:05 +0000 (10:16 +0200)
commitf57681ba0e4b4b38947077afa5f9a439fbb004c2
tree22a084d54258c535c2169a11fbcecbfe3f84042e
parentff74a9d4c2af332d015d712edfc933e11e75d5a8
drm: of: Properly try all possible cases for bridge/panel detection

While bridge/panel detection was initially relying on the usual
port/ports-based of graph detection, it was recently changed to
perform the lookup on any child node that is not port/ports
instead when such a node is available, with no fallback on the
usual way.

This results in breaking detection when a child node is present
but does not contain any panel or bridge node, even when the
usual port/ports-based of graph is there.

In order to support both situations properly, this commit reworks
the logic to try both options and not just one of the two: it will
only return -EPROBE_DEFER when both have failed.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Fixes: 93443771f248 ("drm: of: Lookup if child node has panel or bridge")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20220329132732.628474-1-paul.kocialkowski@bootlin.com
drivers/gpu/drm/drm_of.c