On Tue, Mar 15, 2022 at 09:45:59AM +0100, Thomas Zimmermann wrote: > Fix a number of undefined references to drm_kms_helper.ko in > drm_dp_helper.ko: > > arm-suse-linux-gnueabi-ld: drivers/gpu/drm/dp/drm_dp_mst_topology.o: in function `drm_dp_mst_duplicate_state': > drm_dp_mst_topology.c:(.text+0x2df0): undefined reference to `__drm_atomic_helper_private_obj_duplicate_state' > arm-suse-linux-gnueabi-ld: drivers/gpu/drm/dp/drm_dp_mst_topology.o: in function `drm_dp_delayed_destroy_work': > drm_dp_mst_topology.c:(.text+0x370c): undefined reference to `drm_kms_helper_hotplug_event' > arm-suse-linux-gnueabi-ld: drivers/gpu/drm/dp/drm_dp_mst_topology.o: in function `drm_dp_mst_up_req_work': > drm_dp_mst_topology.c:(.text+0x7938): undefined reference to `drm_kms_helper_hotplug_event' > arm-suse-linux-gnueabi-ld: drivers/gpu/drm/dp/drm_dp_mst_topology.o: in function `drm_dp_mst_link_probe_work': > drm_dp_mst_topology.c:(.text+0x82e0): undefined reference to `drm_kms_helper_hotplug_event' > > This happens if panel-edp.ko has been configured with > > DRM_PANEL_EDP=y > DRM_DP_HELPER=y > DRM_KMS_HELPER=m > > which builds DP helpers into the kernel and KMS helpers sa a module. > Making DRM_PANEL_EDP select DRM_KMS_HELPER resolves this problem. > > To avoid a resulting cyclic dependency with DRM_PANEL_BRIDGE, don't > make the latter depend on DRM_KMS_HELPER and fix the one DRM bridge > drivers that doesn't already select DRM_KMS_HELPER. As KMS helpers > cannot be selected directly by the user, config symbols should avoid > depending on it anyway. > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > Fixes: 3755d35ee1d2 ("drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP") > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> > Cc: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> > Cc: Linux Kernel Functional Testing <lkft@xxxxxxxxxx> > Cc: Lyude Paul <lyude@xxxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: Maxime Ripard <mripard@xxxxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: Dave Airlie <airlied@xxxxxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>