Skip to content

Commit 7af05e7

Browse files
jdelvareJiri Kosina
authored andcommitted
HID: Stop hiding options with !EXPERT
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: Jean Delvare <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent c4bbb39 commit 7af05e7

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

drivers/hid/Kconfig

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ menu "Special HID drivers"
9292
depends on HID
9393

9494
config HID_A4TECH
95-
tristate "A4 tech mice" if EXPERT
95+
tristate "A4 tech mice"
9696
depends on HID
9797
default !EXPERT
9898
---help---
@@ -113,7 +113,7 @@ config HID_ACRUX_FF
113113
game controllers.
114114

115115
config HID_APPLE
116-
tristate "Apple {i,Power,Mac}Books" if EXPERT
116+
tristate "Apple {i,Power,Mac}Books"
117117
depends on HID
118118
default !EXPERT
119119
---help---
@@ -141,7 +141,7 @@ config HID_AUREAL
141141
Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
142142

143143
config HID_BELKIN
144-
tristate "Belkin Flip KVM and Wireless keyboard" if EXPERT
144+
tristate "Belkin Flip KVM and Wireless keyboard"
145145
depends on HID
146146
default !EXPERT
147147
---help---
@@ -158,14 +158,14 @@ config HID_BETOP_FF
158158
- BETOP 2185 PC & BFM MODE
159159

160160
config HID_CHERRY
161-
tristate "Cherry Cymotion keyboard" if EXPERT
161+
tristate "Cherry Cymotion keyboard"
162162
depends on HID
163163
default !EXPERT
164164
---help---
165165
Support for Cherry Cymotion keyboard.
166166

167167
config HID_CHICONY
168-
tristate "Chicony Tactical pad" if EXPERT
168+
tristate "Chicony Tactical pad"
169169
depends on HID
170170
default !EXPERT
171171
---help---
@@ -196,7 +196,7 @@ config HID_CP2112
196196
customizable USB descriptor fields are exposed as sysfs attributes.
197197

198198
config HID_CYPRESS
199-
tristate "Cypress mouse and barcode readers" if EXPERT
199+
tristate "Cypress mouse and barcode readers"
200200
depends on HID
201201
default !EXPERT
202202
---help---
@@ -245,7 +245,7 @@ config HID_ELO
245245
different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO.
246246

247247
config HID_EZKEY
248-
tristate "Ezkey BTC 8193 keyboard" if EXPERT
248+
tristate "Ezkey BTC 8193 keyboard"
249249
depends on HID
250250
default !EXPERT
251251
---help---
@@ -344,7 +344,7 @@ config HID_TWINHAN
344344
Support for Twinhan IR remote control.
345345

346346
config HID_KENSINGTON
347-
tristate "Kensington Slimblade Trackball" if EXPERT
347+
tristate "Kensington Slimblade Trackball"
348348
depends on HID
349349
default !EXPERT
350350
---help---
@@ -372,7 +372,7 @@ config HID_LENOVO
372372
- ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)
373373

374374
config HID_LOGITECH
375-
tristate "Logitech devices" if EXPERT
375+
tristate "Logitech devices"
376376
depends on HID
377377
default !EXPERT
378378
---help---
@@ -461,14 +461,14 @@ config HID_MAGICMOUSE
461461
Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.
462462

463463
config HID_MICROSOFT
464-
tristate "Microsoft non-fully HID-compliant devices" if EXPERT
464+
tristate "Microsoft non-fully HID-compliant devices"
465465
depends on HID
466466
default !EXPERT
467467
---help---
468468
Support for Microsoft devices that are not fully compliant with HID standard.
469469

470470
config HID_MONTEREY
471-
tristate "Monterey Genius KB29E keyboard" if EXPERT
471+
tristate "Monterey Genius KB29E keyboard"
472472
depends on HID
473473
default !EXPERT
474474
---help---

0 commit comments

Comments
 (0)