Message ID | 20230911205338.2385278-1-arnd@kernel.org |
---|---|
State | New |
Headers | show |
Series | drm: fix up fbdev Kconfig defaults | expand |
Hi Am 11.09.23 um 22:52 schrieb Arnd Bergmann: > From: Arnd Bergmann <arnd@arndb.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@linux-m68k.org> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Zimmermann <tzimmermann@suse.de> > --- > drivers/gpu/drm/Kconfig | 2 +- > drivers/video/console/Kconfig | 1 + > drivers/video/fbdev/core/Kconfig | 2 +- > 3 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index 7df8b6875b121..144a9a1d31cea 100644 > --- 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 > 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 > 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 > 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
Thomas Zimmermann <tzimmermann@suse.de> writes: > Hi > > Am 11.09.23 um 22:52 schrieb Arnd Bergmann: >> From: Arnd Bergmann <arnd@arndb.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@linux-m68k.org> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > Acked-by: Thomas Zimmermann <tzimmermann@suse.de> > Pushed to drm-misc (drm-misc-fixes). Thanks!
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 7df8b6875b121..144a9a1d31cea 100644 --- 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 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 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 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