]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/bridge: Add encoder parameter to drm_bridge_funcs.attach
authorMaxime Ripard <mripard@kernel.org>
Thu, 13 Mar 2025 11:59:55 +0000 (12:59 +0100)
committerMaxime Ripard <mripard@kernel.org>
Thu, 20 Mar 2025 13:45:38 +0000 (14:45 +0100)
commit98007a0d56b07605c626c9bdb550b5ae5ce71453
tree675fcd6223687392b36dc92a1898f7ee1e7f2bf4
parent707bd8cceaac1af31d3eeeee166687bdde580fd3
drm/bridge: Add encoder parameter to drm_bridge_funcs.attach

The drm_bridge structure contains an encoder pointer that is widely used
by bridge drivers. This pattern is largely documented as deprecated in
other KMS entities for atomic drivers.

However, one of the main use of that pointer is done in attach to just
call drm_bridge_attach on the next bridge to add it to the bridge list.
While this dereferences the bridge->encoder pointer, it's effectively
the same encoder the bridge was being attached to.

We can make it more explicit by adding the encoder the bridge is
attached to to the list of attach parameters. This also removes the need
to dereference bridge->encoder in most drivers.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250313-bridge-connector-v6-1-511c54a604fb@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
83 files changed:
drivers/gpu/drm/adp/adp-mipi.c
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
drivers/gpu/drm/bridge/analogix/anx7625.c
drivers/gpu/drm/bridge/aux-bridge.c
drivers/gpu/drm/bridge/aux-hpd-bridge.c
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
drivers/gpu/drm/bridge/chipone-icn6211.c
drivers/gpu/drm/bridge/chrontel-ch7033.c
drivers/gpu/drm/bridge/display-connector.c
drivers/gpu/drm/bridge/fsl-ldb.c
drivers/gpu/drm/bridge/imx/imx-ldb-helper.c
drivers/gpu/drm/bridge/imx/imx-ldb-helper.h
drivers/gpu/drm/bridge/imx/imx-legacy-bridge.c
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-combiner.c
drivers/gpu/drm/bridge/imx/imx8qxp-pixel-link.c
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c
drivers/gpu/drm/bridge/ite-it6263.c
drivers/gpu/drm/bridge/ite-it6505.c
drivers/gpu/drm/bridge/ite-it66121.c
drivers/gpu/drm/bridge/lontium-lt8912b.c
drivers/gpu/drm/bridge/lontium-lt9211.c
drivers/gpu/drm/bridge/lontium-lt9611.c
drivers/gpu/drm/bridge/lontium-lt9611uxc.c
drivers/gpu/drm/bridge/lvds-codec.c
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
drivers/gpu/drm/bridge/microchip-lvds.c
drivers/gpu/drm/bridge/nwl-dsi.c
drivers/gpu/drm/bridge/nxp-ptn3460.c
drivers/gpu/drm/bridge/panel.c
drivers/gpu/drm/bridge/parade-ps8622.c
drivers/gpu/drm/bridge/parade-ps8640.c
drivers/gpu/drm/bridge/samsung-dsim.c
drivers/gpu/drm/bridge/sii902x.c
drivers/gpu/drm/bridge/sil-sii8620.c
drivers/gpu/drm/bridge/simple-bridge.c
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c
drivers/gpu/drm/bridge/tc358762.c
drivers/gpu/drm/bridge/tc358764.c
drivers/gpu/drm/bridge/tc358767.c
drivers/gpu/drm/bridge/tc358768.c
drivers/gpu/drm/bridge/tc358775.c
drivers/gpu/drm/bridge/tda998x_drv.c
drivers/gpu/drm/bridge/thc63lvd1024.c
drivers/gpu/drm/bridge/ti-dlpc3433.c
drivers/gpu/drm/bridge/ti-sn65dsi83.c
drivers/gpu/drm/bridge/ti-sn65dsi86.c
drivers/gpu/drm/bridge/ti-tdp158.c
drivers/gpu/drm/bridge/ti-tfp410.c
drivers/gpu/drm/bridge/ti-tpd12s015.c
drivers/gpu/drm/drm_bridge.c
drivers/gpu/drm/imx/ipuv3/parallel-display.c
drivers/gpu/drm/ingenic/ingenic-drm-drv.c
drivers/gpu/drm/mcde/mcde_dsi.c
drivers/gpu/drm/mediatek/mtk_dp.c
drivers/gpu/drm/mediatek/mtk_dpi.c
drivers/gpu/drm/mediatek/mtk_dsi.c
drivers/gpu/drm/mediatek/mtk_hdmi.c
drivers/gpu/drm/meson/meson_encoder_cvbs.c
drivers/gpu/drm/meson/meson_encoder_dsi.c
drivers/gpu/drm/meson/meson_encoder_hdmi.c
drivers/gpu/drm/msm/dsi/dsi_manager.c
drivers/gpu/drm/omapdrm/dss/dpi.c
drivers/gpu/drm/omapdrm/dss/dsi.c
drivers/gpu/drm/omapdrm/dss/hdmi4.c
drivers/gpu/drm/omapdrm/dss/hdmi5.c
drivers/gpu/drm/omapdrm/dss/sdi.c
drivers/gpu/drm/omapdrm/dss/venc.c
drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c
drivers/gpu/drm/stm/lvds.c
drivers/gpu/drm/tidss/tidss_encoder.c
drivers/gpu/drm/vc4/vc4_dsi.c
drivers/gpu/drm/xlnx/zynqmp_dp.c
drivers/platform/arm64/acer-aspire1-ec.c
include/drm/drm_bridge.h