[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdWizKkuLEcv8sFFOWPib-0e1onCRuQEZm6OhV592VWUKQ@mail.gmail.com>
Date: Tue, 12 Sep 2023 09:14:54 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Arnd Bergmann <arnd@...nel.org>
Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>,
Daniel Vetter <daniel@...ll.ch>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Helge Deller <deller@....de>, Arnd Bergmann <arnd@...db.de>,
Christian König <christian.koenig@....com>,
Dave Airlie <airlied@...hat.com>,
Javier Martinez Canillas <javierm@...hat.com>,
Jim Cromie <jim.cromie@...il.com>,
Sam Ravnborg <sam@...nborg.org>,
Arthur Grillo <arthurgrillo@...eup.net>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-fbdev@...r.kernel.org
Subject: Re: [PATCH] drm: fix up fbdev Kconfig defaults
Hi Arnd,
On Mon, Sep 11, 2023 at 10:53 PM Arnd Bergmann <arnd@...nel.org> wrote:
> From: Arnd Bergmann <arnd@...db.de>
>
> As a result of the recent Kconfig reworks, the default settings for the
> framebuffer interfaces changed in unexpected ways:
>
> Configurations that leave CONFIG_FB disabled but use DRM now get
> DRM_FBDEV_EMULATION by default. This also turns on the deprecated /dev/fb
> device nodes for machines that don't actually want it.
>
> In turn, configurations that previously had DRM_FBDEV_EMULATION enabled
> now only get the /dev/fb front-end but not the more useful framebuffer
> console, which is not selected any more.
>
> We had previously decided that any combination of the three frontends
> (FB_DEVICE, FRAMEBUFFER_CONSOLE and LOGO) should be selectable, but the
> new default settings mean that a lot of defconfig files would have to
> get adapted.
>
> Change the defaults back to what they were in Linux 6.5:
>
> - Leave DRM_FBDEV_EMULATION turned off unless CONFIG_FB
> is enabled. Previously this was a hard dependency but now the two are
> independent. However, configurations that enable CONFIG_FB probably
> also want to keep the emulation for DRM, while those without FB
> presumably did that intentionally in the past.
>
> - Leave FB_DEVICE turned off for FB=n. Following the same
> logic, the deprecated option should not automatically get enabled
> here, most users that had FB turned off in the past do not want it,
> even if they want the console
>
> - Turn the FRAMEBUFFER_CONSOLE option on if
> DRM_FBDEV_EMULATION is set to avoid having to change defconfig
> files that relied on it being selected unconditionally in the past.
> This also makes sense since both LOGO and FB_DEVICE are now disabled
> by default for builds without CONFIG_FB, but DRM_FBDEV_EMULATION
> would make no sense if all three are disabled.
>
> Fixes: a5ae331edb02b ("drm: Drop select FRAMEBUFFER_CONSOLE for DRM_FBDEV_EMULATION")
> Fixes: 701d2054fa317 ("fbdev: Make support for userspace interfaces configurable")
> Reported-by: Geert Uytterhoeven <geert@...ux-m68k.org>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
Thanks for your patch!
> --- 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.
> help
> Choose this option if you have a need for the legacy fbdev
> support. Note that this support also provides the linux console
> diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
> index b575cf54174af..83c2d7329ca58 100644
> --- 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@...ux-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
Powered by blists - more mailing lists