Thread (16 messages) 16 messages, 5 authors, 2023-09-18

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

flat view

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2023-09-12 08:51:22
Also in: dri-devel, lkml

Hi Thomas,

On Tue, Sep 12, 2023 at 10:38 AM Thomas Zimmermann [off-list ref] wrote:
Am 12.09.23 um 10:18 schrieb Geert Uytterhoeven:
quoted
On Tue, Sep 12, 2023 at 10:11 AM Thomas Zimmermann [off-list ref] wrote:
quoted
Am 12.09.23 um 09:14 schrieb Geert Uytterhoeven:
[...]
quoted
quoted
--- 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.

quoted
And what's the point (if DRM is enabled) of having FB_CORE with
FBDEV_EMULATION disabled?
quoted
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
Sorry, I was surprised by "FBDEV_EMULATION disables the console",
which is not what the Kconfig snippet you suggested does?
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.
The latter is currently called FB_DEVICE.

If you want to have this controlled by user-visible features, then
either FRAMEBUFFER_CONSOLE and FRAMEBUFFER_DEVICE should
"select FBDEV_EMULATION if DRM", right?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help