Re: [PATCH v2 2/2] drm: Make fbdev emulation select FB_CORE instead of depends on FB

From: Arnd Bergmann
Date: Sat Jul 01 2023 - 18:07:21 EST


On Sat, Jul 1, 2023, at 23:44, Javier Martinez Canillas wrote:
> Now that the fbdev core has been split in FB_CORE and FB, make DRM fbdev
> emulation layer to just select the former.
>
> This allows to disable the CONFIG_FB option if is not needed, which will
> avoid the need to explicitly disable each of the legacy fbdev drivers.
>
> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>
> ---
>
> Changes in v2:
> - Make CONFIG_DRM_FBDEV_EMULATION to select FB_CORE (Thomas Zimmermann).
>
> drivers/gpu/drm/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index afb3b2f5f425..d9b1710e3ad0 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -132,7 +132,7 @@ config DRM_DEBUG_MODESET_LOCK
> config DRM_FBDEV_EMULATION
> bool "Enable legacy fbdev support for your modesetting driver"
> depends on DRM_KMS_HELPER
> - depends on FB=y || FB=DRM_KMS_HELPER
> + select FB_CORE

This will unfortunately force FB_CORE=y even with DRM=m, it would be nice
to allow both to be loadable modules. Any of these should work:

a) Add another hidden symbol like

config DRM_FB_CORE
def_tristate DRM && DRM_FBDEV_EMULATION
select FB_CORE

b) move the 'select' to DRM

config DRM
tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
select FB_CORE if DRM_FBDEV_EMULATION

c) Remove the 'select' and instead use the default

config FB_CORE
def_tristate FB || (DRM && DRM_FBDEV_EMULATION)

Arnd