[PATCH] drm: fix up fbdev Kconfig defaults

Thomas Zimmermann tzimmermann at suse.de
Tue Sep 12 08:38:09 UTC 2023


Hi Geert

Am 12.09.23 um 10:18 schrieb Geert Uytterhoeven:
> Hi Thomas,
> 
> On Tue, Sep 12, 2023 at 10:11 AM Thomas Zimmermann <tzimmermann at suse.de> 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 if it depends on FB_CORE instead of FRAMEBUFFER_CONSOLE? I'm aware 
that this would require more Kconfig changes than outlined here.


> 
> 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...

Decaf maybe?

But there's really no need to get snarky. My though is that 
FRAMEBUFFER_CONSOLE configures an end-user feature. The user sits there 
an thinks "I want a console". FBDEV_EMULATION controls a driver 
functionality. It's not useful by itself, but enables the enduser 
feature. The features would be FRAMEBUFFER_CONSOLE and FRAMEBUFFER_DEVICE.

Best regards
Thomas

> 
>> 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
> 

-- 
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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230912/0dbfdd8d/attachment-0001.sig>


More information about the dri-devel mailing list