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

From: Geert Uytterhoeven
Date: Sun Jul 02 2023 - 05:08:41 EST


Hi Arnd,

On Sun, Jul 2, 2023 at 12:07 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> 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

More complexity to keep track of...

>
> 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

I prefer this one, as it keeps the select close to the user.

BTW, the tristate help text can use some overhaul ;-)

> c) Remove the 'select' and instead use the default
>
> config FB_CORE
> def_tristate FB || (DRM && DRM_FBDEV_EMULATION)

Adding it here means this patch would touch two subsystems.

Gr{oetje,eeting}s,

Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds