• Jean Delvare's avatar
    HID: Stop hiding options with !EXPERT · 7af05e73
    Jean Delvare authored
    Many HID driver options are hidden unless EXPERT is set. While I
    understand the idea of simplifying the kernel configuration for most
    users, in practice I believe it adds more confusion than it helps.
    
    One thing that worries me is that, in non-EXPERT mode, these drivers
    will be either built-in or modular based on apparent magic. For
    example, switching INPUT and HID from m to y will cause all these
    drivers to be built into the kernel when they were previously built
    as modules. Short of enabling EXPERT mode altogether, the user has no
    control over that.
    
    Generally I do not think tristate options should depend on !EXPERT.
    Of these, 11 of 15 are currently in the hid subsystem.
    
    The HID_LOGITECH option is even worse than the others. Sub-options
    depend on it, and this causes menuconfig and friends to display the
    option even though the user can't change its value. The help page for
    HID_LOGITECH will not explain why the value can't be changed. It only
    says, for example:
    
      Depends on: INPUT [=y] && HID [=y]
    
    and that leaves the user puzzled about why the option is forced to y.
    You might argue that this is a Kconfig bug, but that doesn't make it
    less annoying for the user.
    
    Even worse is that some of the sub-options of HID_LOGITECH select
    INPUT_FF_MEMLESS, which in turn gets out of control for the user. So,
    if you set INPUT=y and HID=y (something most general purpose
    distributions would do these days, as both modules would get loaded on
    a vast majority of systems otherwise), and you want support for
    force-feedback game controllers, you can't have that as a module, it
    has to be built-in, regardless of how rare these devices are.
    
    Of course, all this madness goes away once EXPERT is enabled, but then
    the rest of the kernel configuration becomes more complex, which
    totally voids the original point.
    
    For this reason, I would like all HID device tristate options to be
    displayed regardless of EXPERT being set or not. We can let the
    default settings still depend on EXPERT, that's not intrusive.
    Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    7af05e73
Kconfig 25.7 KB