Re: [PATCH] drm: Don't make DRM_PANEL_BRIDGE dependent on DRM_KMS_HELPERS
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 > Fixes: 3755d35ee1d2 ("drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP") > Reported-by: kernel test robot > Cc: Thomas Zimmermann > Cc: Naresh Kamboju > Cc: Linux Kernel Functional Testing > Cc: Lyude Paul > Cc: Sam Ravnborg > Cc: Daniel Vetter > Cc: Maarten Lankhorst > Cc: Maxime Ripard > Cc: dri-devel@lists.freedesktop.org > Cc: Dave Airlie > Cc: Thierry Reding This patch fixes the build error that I see with qcom_defconfig in linux-next. Tested-by: Brian Masney
Re: [PATCH] drm: Don't make DRM_PANEL_BRIDGE dependent on DRM_KMS_HELPERS
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 > Fixes: 3755d35ee1d2 ("drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP") > Reported-by: kernel test robot > Cc: Thomas Zimmermann > Cc: Naresh Kamboju > Cc: Linux Kernel Functional Testing > Cc: Lyude Paul > Cc: Sam Ravnborg > Cc: Daniel Vetter > Cc: Maarten Lankhorst > Cc: Maxime Ripard > Cc: dri-devel@lists.freedesktop.org > Cc: Dave Airlie > Cc: Thierry Reding Acked-by: Sam Ravnborg
[PATCH] drm: Don't make DRM_PANEL_BRIDGE dependent on DRM_KMS_HELPERS
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 Fixes: 3755d35ee1d2 ("drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP") Reported-by: kernel test robot Cc: Thomas Zimmermann Cc: Naresh Kamboju Cc: Linux Kernel Functional Testing Cc: Lyude Paul Cc: Sam Ravnborg Cc: Daniel Vetter Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: dri-devel@lists.freedesktop.org Cc: Dave Airlie Cc: Thierry Reding --- drivers/gpu/drm/bridge/Kconfig | 3 +-- drivers/gpu/drm/panel/Kconfig | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index c86f5be4dfe0..007e5a282f67 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -8,7 +8,6 @@ config DRM_BRIDGE config DRM_PANEL_BRIDGE def_bool y depends on DRM_BRIDGE - depends on DRM_KMS_HELPER select DRM_PANEL help DRM bridge wrapper of DRM panels @@ -30,7 +29,7 @@ config DRM_CDNS_DSI config DRM_CHIPONE_ICN6211 tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge" depends on OF - depends on DRM_KMS_HELPER + select DRM_KMS_HELPER select DRM_MIPI_DSI select DRM_PANEL_BRIDGE help diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index bb2e47229c68..ddf5f38e8731 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -107,6 +107,7 @@ config DRM_PANEL_EDP select VIDEOMODE_HELPERS select DRM_DP_AUX_BUS select DRM_DP_HELPER + select DRM_KMS_HELPER help DRM panel driver for dumb eDP panels that need at most a regulator and a GPIO to be powered up. Optionally a backlight can be attached so -- 2.35.1