]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm: rework FB_CORE dependency
authorArnd Bergmann <arnd@arndb.de>
Fri, 15 Nov 2024 16:23:10 +0000 (17:23 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 10 Dec 2024 10:11:39 +0000 (11:11 +0100)
The 'select FB_CORE' statement moved from CONFIG_DRM to DRM_CLIENT_LIB,
but there are now configurations that have code calling into fb_core
as built-in even though the client_lib itself is a loadable module:

x86_64-linux-ld: drivers/gpu/drm/drm_fbdev_shmem.o: in function `drm_fbdev_shmem_driver_fbdev_probe':
drm_fbdev_shmem.c:(.text+0x1fc): undefined reference to `fb_deferred_io_init'
x86_64-linux-ld: drivers/gpu/drm/drm_fbdev_shmem.o: in function `drm_fbdev_shmem_fb_destroy':
drm_fbdev_shmem.c:(.text+0x2e1): undefined reference to `fb_deferred_io_cleanup'

In addition to DRM_CLIENT_LIB, the 'select' needs to be at least in
two more parts, DRM_KMS_HELPER and DRM_GEM_SHMEM_HELPER, so add those
here.

v3:
- Remove FB_CORE from DRM_KMS_HELPER to avoid circular dependency

Fixes: dadd28d4142f ("drm/client: Add client-lib module")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20241115162323.3555229-1-arnd@kernel.org
drivers/gpu/drm/Kconfig

index 5504721007cc190e7d768d42aa9633baa0115f5e..a0690049b292ecf1088338c37467a0489b1b0b11 100644 (file)
@@ -372,6 +372,7 @@ config DRM_GEM_DMA_HELPER
 config DRM_GEM_SHMEM_HELPER
        tristate
        depends on DRM && MMU
+       select FB_CORE if DRM_FBDEV_EMULATION
        select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
        help
          Choose this if you need the GEM shmem helper functions