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

Geert Uytterhoeven geert at linux-m68k.org
Sun Jul 2 09:04:41 UTC 2023


Hi Arnd,

On Sun, Jul 2, 2023 at 12:07 AM Arnd Bergmann <arnd at arndb.de> 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 at redhat.com>
> > ---
> >
> > 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 at linux-m68k.org

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


More information about the dri-devel mailing list