• Masahiro Yamada's avatar
    drm: move DRM-related CONFIG options into DRM submenu · 08f44136
    Masahiro Yamada authored
    When you create a submenu using the 'menu' syntax, there is no
    ambiguity about its end because the code between 'menu' and 'endmenu'
    becomes the submenu.
    
    In contrast, 'menuconfig' does not have the corresponding end marker.
    Instead, the end of the submenu is inferred from symbol dependencies.
    
    This is detailed in Documentation/kbuild/kconfig-language.rst, starting
    line 348. It outlines two methods to place the code under the submenu:
    
     (1) Open an if-block immediately after 'menuconfig', enclosing the
         submenu content within it
    
     (2) Add 'depends on' to every symbol intended for the submenu
    
    Many subsystems opt for (1) because it reliably maintains the submenu
    structure.
    
    The DRM subsystem adopts (2). The submenu ends when the sequence of
    'depends on DRM' breaks. It can be confirmed by running a GUI frontend
    such as 'make menuconfig' and visiting the DRM menu:
    
        < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  ----
    
    If you toggle this, you will notice most of the DRM-related options
    appear below it, not in the submenu.
    
    I highly recommend the approach (1). Obviously, (2) is not reliable,
    as the submenu breaks whenever someone forgets to add 'depends on DRM'.
    
    This commit encloses the entire DRM configuration with 'if DRM' and
    'endif', except for DRM_PANEL_ORIENTATION_QUIRKS.
    
    Note:
     Now, 'depends on DRM' properties inside the if-block are all redundant.
     I leave it as follow-up cleanups.
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240426135602.2500125-1-masahiroy@kernel.orgSigned-off-by: default avatarMaxime Ripard <mripard@kernel.org>
    08f44136
Kconfig 12.6 KB