Re: [PATCH] drm: fix up fbdev Kconfig defaults

From: Geert Uytterhoeven
Date: Tue Sep 12 2023 - 04:18:47 EST


Hi Thomas,

On Tue, Sep 12, 2023 at 10:11 AM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote:
> Am 12.09.23 um 09:14 schrieb Geert Uytterhoeven:
> [...]
> >> --- a/drivers/gpu/drm/Kconfig
> >> +++ b/drivers/gpu/drm/Kconfig
> >> @@ -135,7 +135,7 @@ config DRM_FBDEV_EMULATION
> >> bool "Enable legacy fbdev support for your modesetting driver"
> >> depends on DRM
> >> select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
> >> - default y
> >> + default FB
> >
> > While this is true for existing configs, it is no longer true in general,
> > as DRM_FBDEV_EMULATION is no longer related to FB.
>
> Would it make sense to make FRAMEBUFFER_CONSOLE an independent option
> and have FBDEV_EMULATION depend on it? Something like this:
>
> FRAMEBUFFER_CONSOLE
> depends on DRM || FB
> select FB_CORE
>
> FBDEV_EMULATION
> depends on DRM
> depends on FRAMEBUFFER_CONSOLE
> default y

Oops, now you can no longer have FBDEV_EMULATION without
FRAMEBUFFER_CONSOLE, which is useful to be able to enable
FB_DEVICE...

And what's the point (if DRM is enabled) of having FB_CORE with
FBDEV_EMULATION disabled?

> So if any graphics subsystems are enabled, FRAMEBUFFER_CONSOLE is
> select-able. But for DRM, FBDEV_EMULATION disables the console. That

Huh?

/me looks at his morning coffee, and confirms the cup is empty...

> option remains more for historical reasons than actual usefulness.

> >> --- a/drivers/video/console/Kconfig
> >> +++ b/drivers/video/console/Kconfig
> >> @@ -74,6 +74,7 @@ config DUMMY_CONSOLE_ROWS
> >> config FRAMEBUFFER_CONSOLE
> >> bool "Framebuffer Console support"
> >> depends on FB_CORE && !UML
> >> + default DRM_FBDEV_EMULATION
> >
> > Sounds good to me, although it looks a bit strange at first sight
> > (FRAMEBUFFER_CONSOLE defaults to n on a system with real fbdev, but
> > y on emulated fbdev?).
> > So this is the fix for commit a5ae331edb02b ("drm: Drop select
> > FRAMEBUFFER_CONSOLE for DRM_FBDEV_EMULATION").
> >
> >> select VT_HW_CONSOLE_BINDING
> >> select CRC32
> >> select FONT_SUPPORT
> >> diff --git a/drivers/video/fbdev/core/Kconfig b/drivers/video/fbdev/core/Kconfig
> >> index 114cb8aa6c8fd..804c2bec9b43c 100644
> >> --- a/drivers/video/fbdev/core/Kconfig
> >> +++ b/drivers/video/fbdev/core/Kconfig
> >> @@ -28,7 +28,7 @@ config FIRMWARE_EDID
> >> config FB_DEVICE
> >> bool "Provide legacy /dev/fb* device"
> >> depends on FB_CORE
> >> - default y
> >> + default FB
> >
> > Changing this means possibly causing regressions on systems running
> > an fbdev userspace.
> >
> >> help
> >> Say Y here if you want the legacy /dev/fb* device file and
> >> interfaces within sysfs anc procfs. It is only required if you

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