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

From: Thomas Zimmermann
Date: Tue Sep 12 2023 - 04:11:50 EST


Hi

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

So if any graphics subsystems are enabled, FRAMEBUFFER_CONSOLE is select-able. But for DRM, FBDEV_EMULATION disables the console. That option remains more for historical reasons than actual usefulness.

Best regards
Thomas


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


--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature