Skip to content

Commit c40ca9e

Browse files
arndbThomas Zimmermann
authored andcommitted
drm: select DRM_KMS_HELPER from DRM_GEM_SHMEM_HELPER
In the combination of DRM_KMS_HELPER=m, DRM_GEM_SHMEM_HELPER=y, DRM_FBDEV_EMULATION=y, The shmem code fails to link against the KMS helpers: x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_driver_fbdev_probe': (.text+0xeec601): undefined reference to `drm_fb_helper_alloc_info' x86_64-linux-ld: (.text+0xeec633): undefined reference to `drm_fb_helper_fill_info' x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_get_page': drm_fbdev_shmem.c:(.text+0xeec7d2): undefined reference to `drm_gem_fb_get_obj' x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_fb_mmap': drm_fbdev_shmem.c:(.text+0xeec9f6): undefined reference to `drm_gem_fb_get_obj' x86_64-linux-ld: vmlinux.o: in function `drm_fbdev_shmem_defio_imageblit': (.rodata+0x5b2288): undefined reference to `drm_fb_helper_check_var' x86_64-linux-ld: (.rodata+0x5b2290): undefined reference to `drm_fb_helper_set_par' This can happen for a number of device drivers that select DRM_GEM_SHMEM_HELPER without also selecting DRM_KMS_HELPER. To work around this, add another select that forces DRM_KMS_HELPER to be built-in rather than a loadable module, but only if FBDEV emulation is also enabled. DRM_TTM_HELPER and DRM_GEM_DMA_HELPER look like they have the same problem in theory even if there is no possible configuration that shows it. For consistency, do the same change to those. Closes: https://lore.kernel.org/all/20250121-greedy-flounder-of-abundance-4d2ee8-mkl@pengutronix.de Reported-by: Marc Kleine-Budde <mkl@pengutronix.de> Tested-by: Marc Kleine-Budde <mkl@pengutronix.de> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20250122090211.3161186-1-arnd@kernel.org
1 parent 10026f5 commit c40ca9e

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/gpu/drm/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ config DRM_TTM_HELPER
359359
tristate
360360
depends on DRM
361361
select DRM_TTM
362+
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
362363
select FB_CORE if DRM_FBDEV_EMULATION
363364
select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
364365
help
@@ -367,6 +368,7 @@ config DRM_TTM_HELPER
367368
config DRM_GEM_DMA_HELPER
368369
tristate
369370
depends on DRM
371+
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
370372
select FB_CORE if DRM_FBDEV_EMULATION
371373
select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
372374
help
@@ -375,6 +377,7 @@ config DRM_GEM_DMA_HELPER
375377
config DRM_GEM_SHMEM_HELPER
376378
tristate
377379
depends on DRM && MMU
380+
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
378381
select FB_CORE if DRM_FBDEV_EMULATION
379382
select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
380383
help

0 commit comments

Comments
 (0)