• Arnd Bergmann's avatar
    drm: fix up fbdev Kconfig defaults · bb6c4507
    Arnd Bergmann authored
    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: a5ae331e ("drm: Drop select FRAMEBUFFER_CONSOLE for DRM_FBDEV_EMULATION")
    Fixes: 701d2054 ("fbdev: Make support for userspace interfaces configurable")
    Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
    Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
    Signed-off-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230911205338.2385278-1-arnd@kernel.org
    bb6c4507
Kconfig 5.41 KB