drm: Stop accessing encoder->bridge directly
authorBoris Brezillon <boris.brezillon@collabora.com>
Tue, 3 Dec 2019 14:15:07 +0000 (15:15 +0100)
committerBoris Brezillon <boris.brezillon@collabora.com>
Mon, 9 Dec 2019 09:02:45 +0000 (10:02 +0100)
commit35a61fe9218a9d32a93447bdcca1d0f167cd0433
tree5c6cd23da83aac637ce749cfb6e0aaa8e49b9271
parentfadf872d9d9274a3be34d8438e0f6bb465c8f98b
drm: Stop accessing encoder->bridge directly

We are about to replace the single-linked bridge list by a double-linked
one based on list.h, leading to the suppression of the encoder->bridge
field. But before we can do that we must provide a
drm_bridge_chain_get_first_bridge() bridge helper and patch all drivers
and core helpers to use it instead of directly accessing encoder->bridge.

Note that we still have 2 drivers (VC4 and Exynos) manipulating the
encoder->bridge field directly because they need to cut the bridge chain
in order to control the enable/disable sequence. This is definitely
not something we want to encourage, so let's keep those 2 oddities
around until we find a better solution.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191203141515.3597631-4-boris.brezillon@collabora.com
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_encoder.c
drivers/gpu/drm/drm_probe_helper.c
drivers/gpu/drm/msm/edp/edp_bridge.c
drivers/gpu/drm/rcar-du/rcar_du_crtc.c
include/drm/drm_bridge.h