Message ID | 20241115162323.3555229-1-arnd@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] drm: rework FB_CORE dependency | expand |
Hi Am 15.11.24 um 17:23 schrieb Arnd Bergmann: > From: Arnd Bergmann <arnd@arndb.de> > > 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' > ... > x86_64-linux-ld: drivers/gpu/drm/drm_fb_helper.o: in function `drm_fb_helper_set_suspend': > drm_fb_helper.c:(.text+0x2c6): undefined reference to `fb_set_suspend' > x86_64-linux-ld: drivers/gpu/drm/drm_fb_helper.o: in function `drm_fb_helper_resume_worker': > drm_fb_helper.c:(.text+0x2e1): undefined reference to `fb_set_suspend' > > 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. > > Fixes: dadd28d4142f ("drm/client: Add client-lib module") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > v2: keep the select in DRM_CLIENT_LIB, keep alphabetic sorting > --- > drivers/gpu/drm/Kconfig | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index a4a092ee70d9..410bd6d78408 100644 > --- a/drivers/gpu/drm/Kconfig > +++ b/drivers/gpu/drm/Kconfig > @@ -98,6 +98,7 @@ config DRM_KUNIT_TEST > config DRM_KMS_HELPER > tristate > depends on DRM > + select FB_CORE if DRM_FBDEV_EMULATION > help > CRTC helpers for KMS drivers. > > @@ -371,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 This select statement is also required for DRM_GEM_DMA_HELPER and DRM_GEM_TTM_HELPER Best regards Thomas > select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION > help > Choose this if you need the GEM shmem helper functions
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index a4a092ee70d9..410bd6d78408 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -98,6 +98,7 @@ config DRM_KUNIT_TEST config DRM_KMS_HELPER tristate depends on DRM + select FB_CORE if DRM_FBDEV_EMULATION help CRTC helpers for KMS drivers. @@ -371,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