On Tue Sep 29, 2026 at 1:48 PM CEST, Sasha Levin wrote: > Since the panel_bridge code moved into drm_panel.c, any config with > DRM built in but without the KMS helpers fails to link, for example > arc haps_hs_smp_defconfig with allnoconfig and the kselftest fragment: > > arc-elf32-ld: drivers/gpu/drm/drm_panel.o:(.rodata+0x28): undefined > reference to `drm_atomic_helper_bridge_duplicate_state' > arc-elf32-ld: drivers/gpu/drm/drm_panel.o:(.rodata+0x2c): undefined > reference to `drm_atomic_helper_bridge_destroy_state' > ... > > With DRM=m, modpost fails the same way: > > ERROR: modpost: drivers/gpu/drm/drm_panel.ko: symbol > 'drm_atomic_helper_bridge_duplicate_state' undefined! > > The panel_bridge used to live in bridge/panel.c, which was part of > drm_kms_helper and was therefore only built when DRM_KMS_HELPER was > enabled. drm_panel.c is built for DRM_PANEL instead, which > DRM_PANEL_BRIDGE selects whenever DRM_BRIDGE is set, and DRM_BRIDGE > is enabled for every DRM config. Nothing on that path selects > DRM_KMS_HELPER, so the bridge and connector helpers used by the moved > code can be missing. > > The panel_bridge code in drm_panel.c is built unconditionally, so > make DRM_PANEL select DRM_KMS_HELPER. > > Reported-by: kernelci.org bot <[email protected]> > Closes: > https://d.kernelci.org/i/maestro:9ed7f4b210fa7c1d3bb109b0fcd62285e98c5b81 > Fixes: aa8a8c7e4641 ("drm/bridge: panel: move all code to drm_panel.c") > Assisted-by: LLM > Signed-off-by: Sasha Levin <[email protected]>
Reviewed-by: Luca Ceresoli <[email protected]> Tested-by: Luca Ceresoli <[email protected]> -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
