Hi, Over the years, most of the bridges have been converted to atomic modesetting and hooks, but not all of them. This forces us to maintain two different code path in quite a few places, which is pretty bothersome. The switch to atomic modesetting for legacy bridges though is pretty trivial, and we don't have a lot of drivers still using the legacy path.
This series converts all bridges to atomic modesetting and drops the legacy codepaths where relevant. Let me know what you think, Maxime Signed-off-by: Maxime Ripard <[email protected]> --- Maxime Ripard (37): drm/adp: mipi: Switch to atomic bridge callbacks drm/bridge: analogix-anx6345: Switch to atomic bridge callbacks drm/bridge: analogix-anx78xx: Switch to atomic bridge callbacks drm/bridge: aux-bridge: Switch to atomic bridge callbacks drm/bridge: aux-hpd-bridge: Switch to atomic bridge callbacks drm/bridge: chrontel-ch7033: Switch to atomic bridge callbacks drm/bridge: cros-ec-anx7688: Switch to atomic bridge callbacks drm/bridge: lontium-lt8713sx: Switch to atomic bridge callbacks drm/bridge: lontium-lt8912b: Switch to atomic bridge callbacks drm/bridge: lontium-lt9611uxc: Switch to atomic bridge callbacks drm/bridge: lvds-codec: Switch to atomic bridge callbacks drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: Switch to atomic bridge callbacks drm/bridge: microchip-lvds: Switch to atomic bridge callbacks drm/bridge: nxp-ptn3460: Switch to atomic bridge callbacks drm/bridge: of-display-mode-bridge: Switch to atomic bridge callbacks drm/bridge: parade-ps8622: Switch to atomic bridge callbacks drm/bridge: sii9234: Switch to atomic bridge callbacks drm/bridge: sil-sii8620: Switch to atomic bridge callbacks drm/bridge: simple-bridge: Switch to atomic bridge callbacks drm/bridge: tc358764: Switch to atomic bridge callbacks drm/bridge: tda998x: Switch to atomic bridge callbacks drm/bridge: ti-tfp410: Switch to atomic bridge callbacks drm/bridge: ti-tpd12s015: Switch to atomic bridge callbacks drm/bridge: thc63lvd1024: Switch to atomic bridge callbacks drm/bridge: waveshare-dsi: Switch to atomic bridge callbacks drm/exynos: mic: Switch to atomic bridge callbacks drm/mcde: dsi: Switch to atomic bridge callbacks drm/mediatek: dpi: Switch to atomic bridge callbacks drm/msm: dsi: Switch to atomic bridge callbacks drm/omap: dpi: Switch to atomic bridge callbacks drm/omap: dsi: Switch to atomic bridge callbacks drm/omap: sdi: Switch to atomic bridge callbacks drm/omap: venc: Switch to atomic bridge callbacks drm/sti: dvo: Switch to atomic bridge callbacks drm/sti: hda: Switch to atomic bridge callbacks drm/sti: hdmi: Switch to atomic bridge callbacks drm/bridge: Remove legacy bridge callback support drivers/gpu/drm/adp/adp-mipi.c | 4 + drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 13 ++- drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 13 ++- drivers/gpu/drm/bridge/aux-bridge.c | 4 + drivers/gpu/drm/bridge/aux-hpd-bridge.c | 4 + drivers/gpu/drm/bridge/chrontel-ch7033.c | 13 ++- drivers/gpu/drm/bridge/cros-ec-anx7688.c | 4 + drivers/gpu/drm/bridge/lontium-lt8713sx.c | 4 + drivers/gpu/drm/bridge/lontium-lt8912b.c | 8 +- drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 3 + drivers/gpu/drm/bridge/lvds-codec.c | 10 +- .../drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 3 + drivers/gpu/drm/bridge/microchip-lvds.c | 3 + drivers/gpu/drm/bridge/nxp-ptn3460.c | 17 ++-- drivers/gpu/drm/bridge/of-display-mode-bridge.c | 4 + drivers/gpu/drm/bridge/parade-ps8622.c | 18 ++-- drivers/gpu/drm/bridge/sii9234.c | 4 + drivers/gpu/drm/bridge/sil-sii8620.c | 4 + drivers/gpu/drm/bridge/simple-bridge.c | 13 ++- drivers/gpu/drm/bridge/tc358764.c | 13 ++- drivers/gpu/drm/bridge/tda998x_drv.c | 13 ++- drivers/gpu/drm/bridge/thc63lvd1024.c | 14 ++- drivers/gpu/drm/bridge/ti-tfp410.c | 10 +- drivers/gpu/drm/bridge/ti-tpd12s015.c | 4 + drivers/gpu/drm/bridge/waveshare-dsi.c | 14 ++- drivers/gpu/drm/drm_bridge.c | 27 +----- drivers/gpu/drm/exynos/exynos_drm_mic.c | 14 ++- drivers/gpu/drm/mcde/mcde_dsi.c | 3 + drivers/gpu/drm/mediatek/mtk_dpi.c | 10 +- drivers/gpu/drm/msm/dsi/dsi_manager.c | 13 ++- drivers/gpu/drm/omapdrm/dss/dpi.c | 14 ++- drivers/gpu/drm/omapdrm/dss/dsi.c | 14 ++- drivers/gpu/drm/omapdrm/dss/sdi.c | 14 ++- drivers/gpu/drm/omapdrm/dss/venc.c | 14 ++- drivers/gpu/drm/sti/sti_dvo.c | 20 ++-- drivers/gpu/drm/sti/sti_hda.c | 20 ++-- drivers/gpu/drm/sti/sti_hdmi.c | 20 ++-- drivers/gpu/drm/tests/drm_bridge_test.c | 104 --------------------- include/drm/drm_bridge.h | 103 -------------------- 39 files changed, 272 insertions(+), 332 deletions(-) --- base-commit: 60dc0946bbad3eef8bc66a5a8b09b98dbc6e09c0 change-id: 20260615-drm-all-atomic-bridges-4da4fe7df58f prerequisite-change-id: 20260530-drm-no-more-bridge-reset-ca20d5e22740:v2 prerequisite-patch-id: 8a8fbf1313a047a4a519f531a71c6c6f87b9bc83 prerequisite-patch-id: a4e58ec70eaf69e00dba8b06a9ea276476d99743 prerequisite-patch-id: d352592969ab04b77b981b3f214f2564e03adbb5 prerequisite-patch-id: 12209462a46aa438a0e5c415de008e2328128fe5 prerequisite-patch-id: 6193aa414873bcc7fa5d1062ed34cc124838ea6a prerequisite-patch-id: 076dae12bdbc2c270f30588a8d6e95563359b309 prerequisite-patch-id: ffc56b19b1cd7ca4e909224903d8d43b39ae7fc6 prerequisite-patch-id: 5dfc850e535eea05740da327f1ec8ab1a57a3218 prerequisite-patch-id: 128438e2c3f56d29d05cf98486786c307441678b prerequisite-patch-id: 9f030232058e7b6c6eb9978c0e2ea8baebadbfd8 prerequisite-patch-id: 9aa995e299738e71811fce508043e049216dbee8 prerequisite-patch-id: 3c8c77a634ee316df7d077926b84f97f75ce3b9d prerequisite-patch-id: d60457e4989ffd8315fc5dfa0fe938f20ba5769e prerequisite-patch-id: d8aca430669a3514e9c7c8071392fd975c729943 prerequisite-patch-id: f13b78cddc8e1d0a24ad2f07822cddcc2f349d56 prerequisite-patch-id: 274645e4a50795892bba19c49b7228223837e4ee prerequisite-patch-id: b6e9e252c6b97ff453c31e7ce9f0c7e30af226ad prerequisite-patch-id: eaf8dc37e5fa9671a749287932de5cedeaa19367 prerequisite-patch-id: ed140d0015fe32b1a312902d6a49dfa505d0c062 prerequisite-patch-id: 1798291a06b97eb5e44521dcb1d2db22266b7322 prerequisite-patch-id: 643d01d3dbe83950d3b3f1cec7adddc297163f24 prerequisite-patch-id: 3e63f40fbd7b98e342da46b1aa377e39fb4e20fe prerequisite-patch-id: 83a906dc9533cfd63233328737c13092b0117164 prerequisite-patch-id: 24f53e9c4f55a4e879fa5a32b30910ed6c1cd269 prerequisite-patch-id: bd7e4106e2f0ef8608121b0408eac85d0f17b4df prerequisite-patch-id: 2b76a8943c04e7be9da62a78caa5fc86437d87e3 prerequisite-patch-id: 59b0884a01a819a1d67e9135ea8e313a97bbb4fc prerequisite-patch-id: bb66b9cc8daa47a2ebedbf0b8bfe67b3f5afc193 prerequisite-patch-id: 476834604d587da752945e53b2e4c6e0aba74b38 prerequisite-patch-id: 0d0c0d400e2dda1b2a2143c2bd34d6a361b97f13 prerequisite-patch-id: 27768e65101e85d23f008b22c9e34e8556334e1c prerequisite-patch-id: 8ee093b3d6884c6c7dcd5072893c58dad092fda6 prerequisite-patch-id: 9ed3a66dc12bd099b09a495bd8148ecc363d3779 prerequisite-patch-id: 288c493e2466e08e8a7b3137fbb443e17a99e510 prerequisite-patch-id: 6f00079c63b96a7de1603f1524f06c0ad27c2cd3 prerequisite-patch-id: f5c58ba609d0b609afd627e0452d6de34bb12f4e prerequisite-patch-id: 7f22cb2b55bd93af027ca50709fbbda072c15a06 prerequisite-patch-id: 922a3d5ceb0607718a290ffd1f02e3e573a49cf4 prerequisite-patch-id: 1d79eb945c8ca7ecae7b9d94b3ea07883c0337a9 prerequisite-patch-id: 2f97212d2d87fabca5724d003cc6c70ae1e026b0 prerequisite-patch-id: f667fac52310410fc067bebcf2c12e5757edbc51 prerequisite-patch-id: ddc5ac03c75f6c6bd080e379b1c86c0024f09010 prerequisite-patch-id: 1811f9a95469f9ab89faacc8fa23af3a8def0e10 prerequisite-patch-id: 29684ab02ba8bf4ee366a56627c02ff4ef0d5af3 prerequisite-patch-id: 00ebcbd12168a25f625d41dc4e0fc11659e00773 prerequisite-patch-id: 1c570484a5d1a5209db2290b991dd7914e219e1c prerequisite-patch-id: 740c4469f788188f0e08fcbe9772ab2654892638 prerequisite-patch-id: 2fb23f6f9a41c7ddf94480c904ad7ec22c161f95 prerequisite-patch-id: d7f382a50b8db0525f2341a86705d01cdfbd9b56 prerequisite-patch-id: d7243d13750efb81a0e93d223f1afd7e30bcae24 prerequisite-patch-id: 6fd0d1296c2b01204a703d740cded71e448f7514 prerequisite-patch-id: e093cf415c55b339b04562e3dc970361a971b226 prerequisite-patch-id: 5f2c35278a4eb15ccf7f388b996a2ae2ba9b7396 prerequisite-patch-id: 9c732ea87d43b26c1e16377fe3a4de42f603f153 prerequisite-patch-id: 0d06852811ed3d3b52b701be99df135772b22d86 prerequisite-patch-id: 972a1fe51fc62083eee9af1ba4cccc2350f87820 prerequisite-patch-id: f78004b914048a14f48f9efbcf95586d84b33f23 prerequisite-patch-id: cd38c76c499c1e9722889d97938b0406eff31940 prerequisite-patch-id: 0777475583042460d0ef343533d8e2c37d3d2c4b prerequisite-patch-id: 2e535f65d1b8e0e768e8f897f779f06c31d128a6 prerequisite-patch-id: ee47825cdbe1d4b937a6775fca324171015282d1 prerequisite-patch-id: 1e4c68816dc7d1672dfd7e7175a1680a40ab18ae prerequisite-patch-id: 7509918098c4aabff7639a8f3849f4b2c56fca53 prerequisite-patch-id: fd07b55c2a713e73540f3049818d996fcd5ef966 prerequisite-patch-id: 5b269160fdaa636392cb2f1bf362c0cc393f08b8 prerequisite-patch-id: 021c28b68be7ccbab88067648f9730be2c70cdf6 prerequisite-patch-id: 8b208c636fb9439764239b991fd123ffc1addf1f prerequisite-patch-id: dd6127d8825c9225abe959d6720b58bbac72a978 prerequisite-patch-id: 0001484c6655bfd60677b5af414aac14cbcf7431 prerequisite-patch-id: 592c6729eac409319be242a8358b469236f159b3 prerequisite-patch-id: dfcbcf6d807e482d41bf04ac4e65227e8ab5f39d prerequisite-patch-id: 9817811602db4b50fed170d50d43c1989dc06202 prerequisite-patch-id: 6f932774c07dbe23e95a0fa35cdb1d3d9122e84b prerequisite-patch-id: 70d2333469ba724002e019f785ca50b6fe636648 prerequisite-patch-id: f29fad83d6c2e4bf4e9c4606b7bf1e150f2be3c6 prerequisite-patch-id: d4c58215c22b28a9b7488f666004e399b47dac8b prerequisite-patch-id: 14734115bea19a7d037f8f68899ac8a4016b3b43 prerequisite-patch-id: 8e74affd6c728fd5096ce92e57bbff3126685151 Best regards, -- Maxime Ripard <[email protected]>
