1# SPDX-License-Identifier: GPL-2.0-only
2#
3# HID driver configuration
4#
5menuconfig HID_SUPPORT
6	bool "HID bus support"
7	default y
8	depends on INPUT
9	help
10	  This option adds core support for human interface device (HID).
11	  You will also need drivers from the following menu to make use of it.
12
13if HID_SUPPORT
14
15config HID
16	tristate "HID bus core support"
17	default y
18	depends on INPUT
19	help
20	  A human interface device (HID) is a type of computer device that
21	  interacts directly with and takes input from humans. The term "HID"
22	  most commonly used to refer to the USB-HID specification, but other
23	  devices (such as, but not strictly limited to, Bluetooth) are
24	  designed using HID specification (this involves certain keyboards,
25	  mice, tablets, etc). This option adds the HID bus to the kernel,
26	  together with generic HID layer code. The HID devices are added and
27	  removed from the HID bus by the transport-layer drivers, such as
28	  usbhid (USB_HID) and hidp (BT_HIDP).
29
30	  For docs and specs, see https://www.usb.org/developers/hidpage/
31
32	  If unsure, say Y.
33
34if HID
35
36config HID_BATTERY_STRENGTH
37	bool "Battery level reporting for HID devices"
38	select POWER_SUPPLY
39	default n
40	help
41	This option adds support of reporting battery strength (for HID devices
42	that support this feature) through power_supply class so that userspace
43	tools, such as upower, can display it.
44
45config HIDRAW
46	bool "/dev/hidraw raw HID device support"
47	help
48	Say Y here if you want to support HID devices (from the USB
49	specification standpoint) that aren't strictly user interface
50	devices, like monitor controls and Uninterruptible Power Supplies.
51
52	This module supports these devices separately using a separate
53	event interface on /dev/hidraw.
54
55	There is also a /dev/hiddev configuration option in the USB HID
56	configuration menu. In comparison to hiddev, this device does not process
57	the hid events at all (no parsing, no lookups). This lets applications
58	to work on raw hid events when they want to, and avoid using transport-specific
59	userspace libhid/libusb libraries.
60
61	If unsure, say Y.
62
63config UHID
64	tristate "User-space I/O driver support for HID subsystem"
65	default n
66	help
67	Say Y here if you want to provide HID I/O Drivers from user-space.
68	This allows to write I/O drivers in user-space and feed the data from
69	the device into the kernel. The kernel parses the HID reports, loads the
70	corresponding HID Device Driver or provides input devices on top of your
71	user-space device.
72
73	This driver cannot be used to parse HID-reports in user-space and write
74	special HID-drivers. You should use hidraw for that.
75	Instead, this driver allows to write the transport-layer driver in
76	user-space like USB-HID and Bluetooth-HID do in kernel-space.
77
78	If unsure, say N.
79
80	To compile this driver as a module, choose M here: the
81	module will be called uhid.
82
83config HID_GENERIC
84	tristate "Generic HID driver"
85	default HID
86	help
87	Support for generic devices on the HID bus. This includes most
88	keyboards and mice, joysticks, tablets and digitizers.
89
90	To compile this driver as a module, choose M here: the module
91	will be called hid-generic.
92
93	If unsure, say Y.
94
95menu "Special HID drivers"
96
97config HID_A4TECH
98	tristate "A4TECH mice"
99	default !EXPERT
100	help
101	Support for some A4TECH mice with two scroll wheels.
102
103config HID_ACCUTOUCH
104	tristate "Accutouch touch device"
105	depends on USB_HID
106	help
107	  This selects a driver for the Accutouch 2216 touch controller.
108
109	  The driver works around a problem in the reported device capabilities
110	  which causes userspace to detect the device as a mouse rather than
111          a touchscreen.
112
113	  Say Y here if you have a Accutouch 2216 touch controller.
114
115config HID_ACRUX
116	tristate "ACRUX game controller support"
117	help
118	Say Y here if you want to enable support for ACRUX game controllers.
119
120config HID_ACRUX_FF
121	bool "ACRUX force feedback support"
122	depends on HID_ACRUX
123	select INPUT_FF_MEMLESS
124	help
125	Say Y here if you want to enable force feedback support for ACRUX
126	game controllers.
127
128config HID_APPLE
129	tristate "Apple {i,Power,Mac}Books"
130	depends on LEDS_CLASS
131	depends on NEW_LEDS
132	default !EXPERT
133	help
134	Support for some Apple devices which less or more break
135	HID specification.
136
137	Say Y here if you want support for keyboards of	Apple iBooks, PowerBooks,
138	MacBooks, MacBook Pros and Apple Aluminum.
139
140config HID_APPLEIR
141	tristate "Apple infrared receiver"
142	depends on (USB_HID)
143	help
144	Support for Apple infrared remote control. All the Apple computers from
145	  2005 onwards include such a port, except the unibody Macbook (2009),
146	  and Mac Pros. This receiver is also used in the Apple TV set-top box
147	  prior to the 2010 model.
148
149	Say Y here if you want support for Apple infrared remote control.
150
151config HID_APPLETB_BL
152	tristate "Apple Touch Bar Backlight"
153	depends on BACKLIGHT_CLASS_DEVICE
154	help
155	  Say Y here if you want support for the backlight of Touch Bars on x86
156	  MacBook Pros.
157
158	  To compile this driver as a module, choose M here: the
159	  module will be called hid-appletb-bl.
160
161config HID_APPLETB_KBD
162	tristate "Apple Touch Bar Keyboard Mode"
163	depends on USB_HID
164	depends on BACKLIGHT_CLASS_DEVICE
165	depends on INPUT
166	select INPUT_SPARSEKMAP
167	select HID_APPLETB_BL
168	help
169	  Say Y here if you want support for the keyboard mode (escape,
170	  function, media and brightness keys) of Touch Bars on x86 MacBook
171	  Pros.
172
173	  To compile this driver as a module, choose M here: the
174	  module will be called hid-appletb-kbd.
175
176config HID_ASUS
177	tristate "Asus"
178	depends on USB_HID
179	depends on LEDS_CLASS
180	depends on ASUS_WMI || ASUS_WMI=n
181	select POWER_SUPPLY
182	help
183	Support for Asus notebook built-in keyboard and touchpad via i2c, and
184	the Asus Republic of Gamers laptop keyboard special keys.
185
186	Supported devices:
187	- EeeBook X205TA
188	- VivoBook E200HA
189	- GL553V series
190	- GL753V series
191
192config HID_AUREAL
193	tristate "Aureal"
194	help
195	Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
196
197config HID_BELKIN
198	tristate "Belkin Flip KVM and Wireless keyboard"
199	default !EXPERT
200	help
201	Support for Belkin Flip KVM and Wireless keyboard.
202
203config HID_BETOP_FF
204	tristate "Betop Production Inc. force feedback support"
205	depends on USB_HID
206	select INPUT_FF_MEMLESS
207	help
208	Say Y here if you want to enable force feedback support for devices by
209	BETOP Production Ltd.
210	Currently the following devices are known to be supported:
211	 - BETOP 2185 PC & BFM MODE
212
213config HID_BIGBEN_FF
214	tristate "BigBen Interactive Kids' gamepad support"
215	depends on USB_HID
216	depends on NEW_LEDS
217	depends on LEDS_CLASS
218	select INPUT_FF_MEMLESS
219	help
220	  Support for the "Kid-friendly Wired Controller" PS3OFMINIPAD
221	  gamepad made by BigBen Interactive, originally sold as a PS3
222	  accessory. This driver fixes input mapping and adds support for
223	  force feedback effects and LEDs on the device.
224
225config HID_CHERRY
226	tristate "Cherry Cymotion keyboard"
227	default !EXPERT
228	help
229	Support for Cherry Cymotion keyboard.
230
231config HID_CHICONY
232	tristate "Chicony devices"
233	depends on USB_HID
234	default !EXPERT
235	help
236	Support for Chicony Tactical pad and special keys on Chicony keyboards.
237
238config HID_CORSAIR
239	tristate "Corsair devices"
240	depends on USB_HID && LEDS_CLASS
241	select POWER_SUPPLY
242	help
243	Support for Corsair devices that are not fully compliant with the
244	HID standard.
245	Support for Corsair Void headsets.
246
247	Supported devices:
248	- Vengeance K90
249	- Scimitar PRO RGB
250	- Corsair Void headsets
251
252config HID_COUGAR
253	tristate "Cougar devices"
254	help
255	Support for Cougar devices that are not fully compliant with the
256	HID standard.
257
258	Supported devices:
259	- Cougar 500k Gaming Keyboard
260
261config HID_MACALLY
262	tristate "Macally devices"
263	help
264	Support for Macally devices that are not fully compliant with the
265	HID standard.
266
267	supported devices:
268	- Macally ikey keyboard
269
270config HID_PRODIKEYS
271	tristate "Prodikeys PC-MIDI Keyboard support"
272	depends on USB_HID && SND
273	select SND_RAWMIDI
274	help
275	Support for Prodikeys PC-MIDI Keyboard device support.
276	Say Y here to enable support for this device.
277	- Prodikeys PC-MIDI keyboard.
278	  The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI
279	  input and one MIDI output. These MIDI jacks appear as
280	  a sound "card" in the ALSA sound system.
281	  Note: if you say N here, this device will still function as a basic
282	  multimedia keyboard, but will lack support for the musical keyboard
283	  and some additional multimedia keys.
284
285config HID_CMEDIA
286	tristate "CMedia audio chips"
287	help
288	Support for CMedia CM6533 HID audio jack controls
289        and HS100B mute buttons.
290
291config HID_CP2112
292	tristate "Silicon Labs CP2112 HID USB-to-SMBus Bridge support"
293	depends on USB_HID && HIDRAW && I2C && GPIOLIB
294	select GPIOLIB_IRQCHIP
295	help
296	Support for Silicon Labs CP2112 HID USB to SMBus Master Bridge.
297	This is a HID device driver which registers as an i2c adapter
298	and gpiochip to expose these functions of the CP2112. The
299	customizable USB descriptor fields are exposed as sysfs attributes.
300
301config HID_CREATIVE_SB0540
302	tristate "Creative SB0540 infrared receiver"
303	depends on USB_HID
304	help
305	Support for Creative infrared SB0540-compatible remote controls, such
306	as the RM-1500 and RM-1800 remotes.
307
308	Say Y here if you want support for Creative SB0540 infrared receiver.
309
310config HID_CYPRESS
311	tristate "Cypress mouse and barcode readers"
312	default !EXPERT
313	help
314	Support for cypress mouse and barcode readers.
315
316config HID_DRAGONRISE
317	tristate "DragonRise Inc. game controller"
318	help
319	Say Y here if you have DragonRise Inc. game controllers.
320	These might be branded as:
321	- Tesun USB-703
322	- Media-tech MT1504 "Rogue"
323	- DVTech JS19 "Gear"
324	- Defender Game Master
325
326config DRAGONRISE_FF
327	bool "DragonRise Inc. force feedback"
328	depends on HID_DRAGONRISE
329	select INPUT_FF_MEMLESS
330	help
331	Say Y here if you want to enable force feedback support for DragonRise Inc.
332	game controllers.
333
334config HID_EMS_FF
335	tristate "EMS Production Inc. force feedback support"
336	select INPUT_FF_MEMLESS
337	help
338	Say Y here if you want to enable force feedback support for devices by
339	EMS Production Ltd.
340	Currently the following devices are known to be supported:
341	 - Trio Linker Plus II
342
343config HID_ELAN
344	tristate "ELAN USB Touchpad Support"
345	depends on LEDS_CLASS && USB_HID
346	help
347	Say Y to enable support for the USB ELAN touchpad
348	Currently the following devices are known to be supported:
349	 - HP Pavilion X2 10-p0XX.
350
351config HID_ELECOM
352	tristate "ELECOM HID devices"
353	help
354	Support for ELECOM devices:
355	  - BM084 Bluetooth Mouse
356	  - EX-G Trackballs (M-XT3DRBK, M-XT3URBK)
357	  - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
358	  - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
359
360config HID_ELO
361	tristate "ELO USB 4000/4500 touchscreen"
362	depends on USB_HID
363	help
364	Support for the ELO USB 4000/4500 touchscreens. Note that this is for
365	different devices than those handled by CONFIG_TOUCHSCREEN_USB_ELO.
366
367config HID_EVISION
368	tristate "EVision Keyboards Support"
369	depends on HID
370	help
371	Support for some EVision keyboards. Note that this is needed only when
372	applying customization using userspace programs.
373
374config HID_EZKEY
375	tristate "Ezkey BTC 8193 keyboard"
376	default !EXPERT
377	help
378	Support for Ezkey BTC 8193 keyboard.
379
380config HID_FT260
381	tristate "FTDI FT260 USB HID to I2C host support"
382	depends on USB_HID && HIDRAW && I2C
383	help
384	  Provides I2C host adapter functionality over USB-HID through FT260
385	  device. The customizable USB descriptor fields are exposed as sysfs
386	  attributes.
387
388	  To compile this driver as a module, choose M here: the module
389	  will be called hid-ft260.
390
391config HID_GEMBIRD
392	tristate "Gembird Joypad"
393	help
394	Support for Gembird JPD-DualForce 2.
395
396config HID_GFRM
397	tristate "Google Fiber TV Box remote control support"
398	help
399	Support for Google Fiber TV Box remote controls
400
401config HID_GLORIOUS
402	tristate "Glorious PC Gaming Race mice"
403	help
404	  Support for Glorious PC Gaming Race mice such as
405	  the Glorious Model O, O- and D.
406
407config HID_HOLTEK
408	tristate "Holtek HID devices"
409	depends on USB_HID
410	help
411	Support for Holtek based devices:
412	  - Holtek On Line Grip based game controller
413	  - Trust GXT 18 Gaming Keyboard
414	  - Sharkoon Drakonia / Perixx MX-2000 gaming mice
415	  - Tracer Sniper TRM-503 / NOVA Gaming Slider X200 /
416	    Zalman ZM-GM1
417	  - SHARKOON DarkGlider Gaming mouse
418	  - LEETGION Hellion Gaming Mouse
419
420config HOLTEK_FF
421	bool "Holtek On Line Grip force feedback support"
422	depends on HID_HOLTEK
423	select INPUT_FF_MEMLESS
424	help
425	  Say Y here if you have a Holtek On Line Grip based game controller
426	  and want to have force feedback support for it.
427
428config HID_VIVALDI_COMMON
429	tristate
430	help
431	  ChromeOS Vivaldi HID parsing support library. This is a hidden
432	  option so that drivers can use common code to parse the HID
433	  descriptors for vivaldi function row keymap.
434
435config HID_GOODIX_SPI
436	tristate "Goodix GT7986U SPI HID touchscreen"
437	depends on SPI_MASTER
438	help
439	  Support for Goodix GT7986U SPI HID touchscreen device.
440
441config HID_GOOGLE_HAMMER
442	tristate "Google Hammer Keyboard"
443	select HID_VIVALDI_COMMON
444	select INPUT_VIVALDIFMAP
445	depends on USB_HID && LEDS_CLASS && CROS_EC
446	help
447	Say Y here if you have a Google Hammer device.
448
449config HID_GOOGLE_STADIA_FF
450	tristate "Google Stadia force feedback"
451	select INPUT_FF_MEMLESS
452	help
453	Say Y here if you want to enable force feedback support for the Google
454	Stadia controller.
455
456config HID_VIVALDI
457	tristate "Vivaldi Keyboard"
458	select HID_VIVALDI_COMMON
459	select INPUT_VIVALDIFMAP
460	help
461	  Say Y here if you want to enable support for Vivaldi keyboards.
462
463	  Vivaldi keyboards use a vendor-specific (Google) HID usage to report
464	  how the keys in the top row are physically ordered.
465
466config HID_GT683R
467	tristate "MSI GT68xR LED support"
468	depends on LEDS_CLASS && USB_HID
469	help
470	Say Y here if you want to enable support for the three MSI GT68xR LEDs
471
472	This driver support following modes:
473	  - Normal: LEDs are fully on when enabled
474	  - Audio:  LEDs brightness depends on sound level
475	  - Breathing: LEDs brightness varies at human breathing rate
476
477	Currently the following devices are know to be supported:
478	  - MSI GT683R
479
480config HID_KEYTOUCH
481	tristate "Keytouch HID devices"
482	help
483	Support for Keytouch HID devices not fully compliant with
484	the specification. Currently supported:
485		- Keytouch IEC 60945
486
487config HID_KYE
488	tristate "KYE/Genius devices"
489	help
490	Support for KYE/Genius devices not fully compliant with HID standard:
491	- Ergo Mouse
492	- EasyPen i405X tablet
493	- MousePen i608X tablet
494	- EasyPen M610X tablet
495
496config HID_KYSONA
497	tristate "Kysona devices"
498	depends on USB_HID
499	help
500	Support for Kysona mice.
501
502	Say Y here if you have a Kysona M600 mouse
503	and want to be able to read its battery capacity.
504
505config HID_UCLOGIC
506	tristate "UC-Logic"
507	depends on USB_HID
508	help
509	Support for UC-Logic and Huion tablets.
510
511config HID_WALTOP
512	tristate "Waltop"
513	help
514	Support for Waltop tablets.
515
516config HID_VIEWSONIC
517	tristate "ViewSonic/Signotec"
518	help
519	  Support for ViewSonic/Signotec PD1011 signature pad.
520
521config HID_VRC2
522	tristate "VRC-2 Car Controller"
523	depends on HID
524	help
525        Support for VRC-2 which is a 2-axis controller often used in
526        car simulators.
527
528        To compile this driver as a module, choose M here: the
529        module will be called hid-vrc2.
530
531config HID_XIAOMI
532	tristate "Xiaomi"
533	help
534	  Adds support for side buttons of Xiaomi Mi Dual Mode Wireless
535	  Mouse Silent Edition.
536
537config HID_GYRATION
538	tristate "Gyration remote control"
539	help
540	Support for Gyration remote control.
541
542config HID_ICADE
543	tristate "ION iCade arcade controller"
544	help
545	Support for the ION iCade arcade controller to work as a joystick.
546
547	To compile this driver as a module, choose M here: the
548	module will be called hid-icade.
549
550config HID_ITE
551	tristate "ITE devices"
552	default !EXPERT
553	help
554	Support for ITE devices not fully compliant with HID standard.
555
556config HID_JABRA
557	tristate "Jabra USB HID Driver"
558	help
559	Support for Jabra USB HID devices.
560
561	Prevents mapping of vendor defined HID usages to input events. Without
562	this driver HID	reports from Jabra devices may incorrectly be seen as
563	mouse button events.
564	Say M here if you may ever plug in a Jabra USB device.
565
566config HID_TWINHAN
567	tristate "Twinhan IR remote control"
568	help
569	Support for Twinhan IR remote control.
570
571config HID_KENSINGTON
572	tristate "Kensington Slimblade Trackball"
573	default !EXPERT
574	help
575	Support for Kensington Slimblade Trackball.
576
577config HID_LCPOWER
578	tristate "LC-Power"
579	help
580	Support for LC-Power RC1000MCE RF remote control.
581
582config HID_LED
583	tristate "Simple RGB LED support"
584	depends on LEDS_CLASS
585	help
586	Support for simple RGB LED devices. Currently supported are:
587	- Riso Kagaku Webmail Notifier
588	- Dream Cheeky Webmail Notifier and Friends Alert
589	- ThingM blink(1)
590	- Delcom Visual Signal Indicator Generation 2
591	- Greynut Luxafor
592
593	To compile this driver as a module, choose M here: the
594	module will be called hid-led.
595
596config HID_LENOVO
597	tristate "Lenovo / Thinkpad devices"
598	depends on ACPI
599	select ACPI_PLATFORM_PROFILE
600	select NEW_LEDS
601	select LEDS_CLASS
602	help
603	Support for IBM/Lenovo devices that are not fully compliant with HID standard.
604
605	Say Y if you want support for horizontal scrolling of the IBM/Lenovo
606	Scrollpoint mice or the non-compliant features of the Lenovo Thinkpad
607	standalone keyboards, e.g:
608	- ThinkPad USB Keyboard with TrackPoint (supports extra LEDs and trackpoint
609	  configuration)
610	- ThinkPad Compact Bluetooth Keyboard with TrackPoint (supports Fn keys)
611	- ThinkPad Compact USB Keyboard with TrackPoint (supports Fn keys)
612
613config HID_LETSKETCH
614	tristate "Letsketch WP9620N tablets"
615	depends on USB_HID
616	help
617	  Driver for the LetSketch / VSON WP9620N drawing tablet. This
618	  drawing tablet is also sold under other brand names such as Case U,
619	  presumably this driver will work for all of them. But it has only been
620	  tested with a LetSketch WP9620N model.
621
622	  These tablets also work without a special HID driver, but then only
623	  part of the active area works and both the pad and stylus buttons are
624	  hardwired to special key-combos. E.g. the 2 stylus buttons send right
625	  mouse clicks / resp. "e" key presses.
626
627config HID_LOGITECH
628	tristate "Logitech devices"
629	depends on USB_HID
630	depends on LEDS_CLASS
631	depends on LEDS_CLASS_MULTICOLOR
632	default !EXPERT
633	help
634	Support for Logitech devices that are not fully compliant with HID standard.
635
636config HID_LOGITECH_DJ
637	tristate "Logitech receivers full support"
638	depends on USB_HID
639	depends on HIDRAW
640	depends on HID_LOGITECH
641	select HID_LOGITECH_HIDPP
642	help
643	Say Y if you want support for Logitech receivers and devices.
644	Logitech receivers are capable of pairing multiple Logitech compliant
645	devices to the same receiver. Without this driver it will be handled by
646	generic USB_HID driver and all incoming events will be multiplexed
647	into a single mouse and a single keyboard device.
648
649config HID_LOGITECH_HIDPP
650	tristate "Logitech HID++ devices support"
651	depends on HID_LOGITECH
652	select POWER_SUPPLY
653	help
654	Support for Logitech devices relying on the HID++ Logitech specification
655
656	Say Y if you want support for Logitech devices relying on the HID++
657	specification. Such devices are the various Logitech Touchpads (T650,
658	T651, TK820), some mice (Zone Touch mouse), or even keyboards (Solar
659	Keyboard).
660
661config LOGITECH_FF
662	bool "Logitech force feedback support"
663	depends on HID_LOGITECH
664	select INPUT_FF_MEMLESS
665	help
666	  Say Y here if you have one of these devices:
667	  - Logitech WingMan Cordless RumblePad
668	  - Logitech WingMan Cordless RumblePad 2
669	  - Logitech WingMan Force 3D
670
671	  and if you want to enable force feedback for them.
672	  Note: if you say N here, this device will still be supported, but without
673	  force feedback.
674
675config LOGIRUMBLEPAD2_FF
676	bool "Logitech force feedback support (variant 2)"
677	depends on HID_LOGITECH
678	select INPUT_FF_MEMLESS
679	help
680	  Say Y here if you want to enable force feedback support for:
681	  - Logitech RumblePad
682	  - Logitech Rumblepad 2
683	  - Logitech Formula Vibration Feedback Wheel
684
685config LOGIG940_FF
686	bool "Logitech Flight System G940 force feedback support"
687	depends on HID_LOGITECH
688	select INPUT_FF_MEMLESS
689	help
690	  Say Y here if you want to enable force feedback support for Logitech
691	  Flight System G940 devices.
692
693config LOGIWHEELS_FF
694	bool "Logitech wheels configuration and force feedback support"
695	depends on HID_LOGITECH
696	select INPUT_FF_MEMLESS
697	default LOGITECH_FF
698	help
699	  Say Y here if you want to enable force feedback and range setting(*)
700	  support for following Logitech wheels:
701	  - Logitech G25 (*)
702	  - Logitech G27 (*)
703	  - Logitech G29 (*)
704	  - Logitech Driving Force
705	  - Logitech Driving Force Pro (*)
706	  - Logitech Driving Force GT (*)
707	  - Logitech Driving Force EX/RX
708	  - Logitech Driving Force Wireless
709	  - Logitech Speed Force Wireless
710	  - Logitech MOMO Force
711	  - Logitech MOMO Racing Force
712	  - Logitech Formula Force GP
713	  - Logitech Formula Force EX/RX
714	  - Logitech Wingman Formula Force GP
715
716config HID_MAGICMOUSE
717	tristate "Apple Magic Mouse/Trackpad multi-touch support"
718	help
719	Support for the Apple Magic Mouse/Trackpad multi-touch.
720
721	Say Y here if you want support for the multi-touch features of the
722	Apple Wireless "Magic" Mouse and the Apple Wireless "Magic" Trackpad.
723
724config HID_MALTRON
725	tristate "Maltron L90 keyboard"
726	help
727	Adds support for the volume up, volume down, mute, and play/pause buttons
728	of the Maltron L90 keyboard.
729
730config HID_MAYFLASH
731	tristate "Mayflash game controller adapter force feedback"
732	select INPUT_FF_MEMLESS
733	help
734	Say Y here if you have HJZ Mayflash PS3 game controller adapters
735	and want to enable force feedback support.
736
737config HID_MEGAWORLD_FF
738	tristate "Mega World based game controller force feedback support"
739	depends on USB_HID
740	select INPUT_FF_MEMLESS
741	help
742	Say Y here if you have a Mega World based game controller and want
743	to have force feedback support for it.
744
745config HID_REDRAGON
746	tristate "Redragon keyboards"
747	default !EXPERT
748	help
749    Support for Redragon keyboards that need fix-ups to work properly.
750
751config HID_MICROSOFT
752	tristate "Microsoft non-fully HID-compliant devices"
753	default !EXPERT
754	select INPUT_FF_MEMLESS
755	help
756	Support for Microsoft devices that are not fully compliant with HID standard.
757
758config HID_MONTEREY
759	tristate "Monterey Genius KB29E keyboard"
760	default !EXPERT
761	help
762	Support for Monterey Genius KB29E.
763
764config HID_MULTITOUCH
765	tristate "HID Multitouch panels"
766	help
767	  Generic support for HID multitouch panels.
768
769	  Say Y here if you have one of the following devices:
770	  - 3M PCT touch screens
771	  - ActionStar dual touch panels
772	  - Atmel panels
773	  - Cando dual touch panels
774	  - Chunghwa panels
775	  - CJTouch panels
776	  - CVTouch panels
777	  - Cypress TrueTouch panels
778	  - Elan Microelectronics touch panels
779	  - Elo TouchSystems IntelliTouch Plus panels
780	  - GeneralTouch 'Sensing Win7-TwoFinger' panels
781	  - GoodTouch panels
782	  - Hanvon dual touch panels
783	  - Ilitek dual touch panels
784	  - IrTouch Infrared USB panels
785	  - LG Display panels (Dell ST2220Tc)
786	  - Lumio CrystalTouch panels
787	  - MosArt dual-touch panels
788	  - Panasonic multitouch panels
789	  - PenMount dual touch panels
790	  - Perixx Peripad 701 touchpad
791	  - PixArt optical touch screen
792	  - Pixcir dual touch panels
793	  - Quanta panels
794	  - eGalax dual-touch panels, including the Joojoo and Wetab tablets
795	  - SiS multitouch panels
796	  - Stantum multitouch panels
797	  - Touch International Panels
798	  - Unitec Panels
799	  - Wistron optical touch panels
800	  - XAT optical touch panels
801	  - Xiroku optical touch panels
802	  - Zytronic touch panels
803
804	  If unsure, say N.
805
806	  To compile this driver as a module, choose M here: the
807	  module will be called hid-multitouch.
808
809config HID_NINTENDO
810	tristate "Nintendo Joy-Con, NSO, and Pro Controller support"
811	depends on NEW_LEDS
812	depends on LEDS_CLASS
813	select POWER_SUPPLY
814	help
815	Adds support for the Nintendo Switch Joy-Cons, NSO, Pro Controller.
816	All controllers support bluetooth, and the Pro Controller also supports
817	its USB mode. This also includes support for the Nintendo Switch Online
818	Controllers which include the NES, Genesis, SNES, and N64 controllers.
819
820	To compile this driver as a module, choose M here: the
821	module will be called hid-nintendo.
822
823config NINTENDO_FF
824	bool "Nintendo Switch controller force feedback support"
825	depends on HID_NINTENDO
826	select INPUT_FF_MEMLESS
827	help
828	Say Y here if you have a Nintendo Switch controller and want to enable
829	force feedback support for it. This works for both joy-cons, the pro
830	controller, and the NSO N64 controller. For the pro controller, both
831	rumble motors can be controlled individually.
832
833config HID_NTI
834	tristate "NTI keyboard adapters"
835	help
836	Support for the "extra" Sun keyboard keys on keyboards attached
837	through Network Technologies USB-SUN keyboard adapters.
838
839config HID_NTRIG
840	tristate "N-Trig touch screen"
841	depends on USB_HID
842	help
843	Support for N-Trig touch screen.
844
845config HID_NVIDIA_SHIELD
846	tristate "NVIDIA SHIELD devices"
847	depends on USB_HID
848	depends on BT_HIDP
849	depends on LEDS_CLASS
850	select POWER_SUPPLY
851	help
852	  Support for NVIDIA SHIELD accessories.
853
854	  Supported devices:
855	  - Thunderstrike (NVIDIA SHIELD Controller 2017)
856
857config NVIDIA_SHIELD_FF
858	bool "NVIDIA SHIELD force feedback support"
859	depends on HID_NVIDIA_SHIELD
860	select INPUT_FF_MEMLESS
861	help
862	  Say Y here if you would like to enable force feedback support for
863	  NVIDIA SHIELD accessories with haptics capabilities.
864
865config HID_ORTEK
866	tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
867	help
868	There are certain devices which have LogicalMaximum wrong in the keyboard
869	usage page of their report descriptor. The most prevailing ones so far
870	are manufactured by Ortek, thus the name of the driver. Currently
871	supported devices by this driver are
872
873	   - Ortek PKB-1700
874	   - Ortek WKB-2000
875	   - Skycable wireless presenter
876
877config HID_PANTHERLORD
878	tristate "Pantherlord/GreenAsia game controller"
879	help
880	  Say Y here if you have a PantherLord/GreenAsia based game controller
881	  or adapter.
882
883config PANTHERLORD_FF
884	bool "Pantherlord force feedback support"
885	depends on HID_PANTHERLORD
886	select INPUT_FF_MEMLESS
887	help
888	  Say Y here if you have a PantherLord/GreenAsia based game controller
889	  or adapter and want to enable force feedback support for it.
890
891config HID_PENMOUNT
892	tristate "Penmount touch device"
893	depends on USB_HID
894	help
895	  This selects a driver for the PenMount 6000 touch controller.
896
897	  The driver works around a problem in the report descript allowing
898	  the userspace to touch events instead of mouse events.
899
900	  Say Y here if you have a Penmount based touch controller.
901
902config HID_PETALYNX
903	tristate "Petalynx Maxter remote control"
904	help
905	Support for Petalynx Maxter remote control.
906
907config HID_PICOLCD
908	tristate "PicoLCD (graphic version)"
909	help
910	  This provides support for Minibox PicoLCD devices, currently
911	  only the graphical ones are supported.
912
913	  This includes support for the following device features:
914	  - Keypad
915	  - Switching between Firmware and Flash mode
916	  - EEProm / Flash access     (via debugfs)
917	  Features selectively enabled:
918	  - Framebuffer for monochrome 256x64 display
919	  - Backlight control
920	  - Contrast control
921	  - General purpose outputs
922	  Features that are not (yet) supported:
923	  - IR
924
925config HID_PICOLCD_FB
926	bool "Framebuffer support" if EXPERT
927	default !EXPERT
928	depends on HID_PICOLCD
929	depends on HID_PICOLCD=FB || FB=y
930	select FB_SYSMEM_HELPERS_DEFERRED
931	help
932	  Provide access to PicoLCD's 256x64 monochrome display via a
933	  framebuffer device.
934
935config HID_PICOLCD_BACKLIGHT
936	bool "Backlight control" if EXPERT
937	default !EXPERT
938	depends on HID_PICOLCD
939	depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
940	help
941	  Provide access to PicoLCD's backlight control via backlight
942	  class.
943
944config HID_PICOLCD_LCD
945	bool "Contrast control" if EXPERT
946	default !EXPERT
947	depends on HID_PICOLCD
948	depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
949	help
950	  Provide access to PicoLCD's LCD contrast via lcd class.
951
952config HID_PICOLCD_LEDS
953	bool "GPO via leds class" if EXPERT
954	default !EXPERT
955	depends on HID_PICOLCD
956	depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
957	help
958	  Provide access to PicoLCD's GPO pins via leds class.
959
960config HID_PICOLCD_CIR
961	bool "CIR via RC class" if EXPERT
962	default !EXPERT
963	depends on HID_PICOLCD
964	depends on HID_PICOLCD=RC_CORE || RC_CORE=y
965	help
966	  Provide access to PicoLCD's CIR interface via remote control (LIRC).
967
968config HID_PLANTRONICS
969	tristate "Plantronics USB HID Driver"
970	help
971	  Provides HID support for Plantronics USB audio devices.
972	  Correctly maps vendor unique volume up/down HID usages to
973	  KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping
974	  of other vendor unique HID usages to random mouse events.
975
976	  Say M here if you may ever plug in a Plantronics USB audio device.
977
978config HID_PLAYSTATION
979	tristate "PlayStation HID Driver"
980	depends on LEDS_CLASS_MULTICOLOR
981	select CRC32
982	select POWER_SUPPLY
983	help
984	  Provides support for Sony PS4/PS5 controllers including support for
985	  its special functionalities e.g. touchpad, lights and motion
986	  sensors.
987
988config PLAYSTATION_FF
989	bool "PlayStation force feedback support"
990	depends on HID_PLAYSTATION
991	select INPUT_FF_MEMLESS
992	help
993	  Say Y here if you would like to enable force feedback support for
994	  PlayStation game controllers.
995
996config HID_PXRC
997       tristate "PhoenixRC HID Flight Controller"
998       depends on HID
999       help
1000       Support for PhoenixRC HID Flight Controller, a 8-axis flight controller.
1001
1002       To compile this driver as a module, choose M here: the
1003       module will be called hid-pxrc.
1004
1005config HID_RAZER
1006	tristate "Razer non-fully HID-compliant devices"
1007	help
1008	Support for Razer devices that are not fully compliant with the
1009	HID standard.
1010
1011config HID_PRIMAX
1012	tristate "Primax non-fully HID-compliant devices"
1013	help
1014	Support for Primax devices that are not fully compliant with the
1015	HID standard.
1016
1017config HID_RETRODE
1018	tristate "Retrode 2 USB adapter for vintage video games"
1019	depends on USB_HID
1020	help
1021	Support for
1022	  * Retrode 2 cartridge and controller adapter
1023
1024config HID_ROCCAT
1025	tristate "Roccat device support"
1026	depends on USB_HID
1027	help
1028	Support for Roccat devices.
1029	Say Y here if you have a Roccat mouse or keyboard and want
1030	support for its special functionalities.
1031
1032config HID_SAITEK
1033	tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
1034	help
1035	Support for Saitek devices that are not fully compliant with the
1036	HID standard.
1037
1038	Supported devices:
1039	- PS1000 Dual Analog Pad
1040	- Saitek R.A.T.7, R.A.T.9, M.M.O.7 Gaming Mice
1041	- Mad Catz R.A.T.5, R.A.T.9 Gaming Mice
1042
1043config HID_SAMSUNG
1044	tristate "Samsung InfraRed remote control or keyboards"
1045	depends on USB_HID
1046	help
1047	Support for Samsung InfraRed remote control or keyboards.
1048
1049config HID_SEMITEK
1050	tristate "Semitek USB keyboards"
1051	help
1052	Support for Semitek USB keyboards that are not fully compliant
1053	with the HID standard.
1054
1055	There are many variants, including:
1056	- GK61, GK64, GK68, GK84, GK96, etc.
1057	- SK61, SK64, SK68, SK84, SK96, etc.
1058	- Dierya DK61/DK66
1059	- Tronsmart TK09R
1060	- Woo-dy
1061	- X-Bows Nature/Knight
1062
1063config HID_SIGMAMICRO
1064	tristate "SiGma Micro-based keyboards"
1065	depends on USB_HID
1066	help
1067	  Support for keyboards that use the SiGma Micro (a.k.a SigmaChip) IC.
1068
1069	  Supported devices:
1070	  - Landslides KR-700
1071	  - Rapoo V500
1072
1073config HID_SONY
1074	tristate "Sony PS2/3/4 accessories"
1075	depends on USB_HID
1076	depends on NEW_LEDS
1077	depends on LEDS_CLASS
1078	select POWER_SUPPLY
1079	select CRC32
1080	help
1081	Support for
1082
1083	  * Sony PS3 6-axis controllers
1084	  * Sony PS4 DualShock 4 controllers
1085	  * Buzz controllers
1086	  * Sony PS3 Blue-ray Disk Remote Control (Bluetooth)
1087	  * Logitech Harmony adapter for Sony Playstation 3 (Bluetooth)
1088	  * Guitar Hero Live PS3, Wii U and PS4 guitar dongles
1089	  * Guitar Hero PS3 and PC guitar dongles
1090
1091config SONY_FF
1092	bool "Sony PS2/3/4 accessories force feedback support"
1093	depends on HID_SONY
1094	select INPUT_FF_MEMLESS
1095	help
1096	Say Y here if you have a Sony PS2/3/4 accessory and want to enable
1097	force feedback support for it.
1098
1099config HID_SPEEDLINK
1100	tristate "Speedlink VAD Cezanne mouse support"
1101	help
1102	Support for Speedlink Vicious and Divine Cezanne mouse.
1103
1104config HID_STEAM
1105	tristate "Steam Controller/Deck support"
1106	select POWER_SUPPLY
1107	help
1108	Say Y here if you have a Steam Controller or Deck if you want to use it
1109	without running the Steam Client. It supports both the wired and
1110	the wireless adaptor.
1111
1112config STEAM_FF
1113	bool "Steam Deck force feedback support"
1114	depends on HID_STEAM
1115	select INPUT_FF_MEMLESS
1116	help
1117	Say Y here if you want to enable force feedback support for the Steam
1118	Deck.
1119
1120config HID_STEELSERIES
1121	tristate "Steelseries devices support"
1122	depends on USB_HID
1123	help
1124	Support for Steelseries SRW-S1 steering wheel, and the Steelseries
1125	Arctis 1 Wireless for XBox headset.
1126
1127config HID_SUNPLUS
1128	tristate "Sunplus wireless desktop"
1129	help
1130	Support for Sunplus wireless desktop.
1131
1132config HID_RMI
1133	tristate "Synaptics RMI4 device support"
1134	select RMI4_CORE
1135	select RMI4_F03
1136	select RMI4_F11
1137	select RMI4_F12
1138	select RMI4_F30
1139	select RMI4_F3A
1140	help
1141	Support for Synaptics RMI4 touchpads.
1142	Say Y here if you have a Synaptics RMI4 touchpads over i2c-hid or usbhid
1143	and want support for its special functionalities.
1144
1145config HID_GREENASIA
1146	tristate "GreenAsia (Product ID 0x12) game controller support"
1147	help
1148	  Say Y here if you have a GreenAsia (Product ID 0x12) based game
1149	  controller or adapter.
1150
1151config GREENASIA_FF
1152	bool "GreenAsia (Product ID 0x12) force feedback support"
1153	depends on HID_GREENASIA
1154	select INPUT_FF_MEMLESS
1155	help
1156	Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
1157	(like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
1158	and want to enable force feedback support for it.
1159
1160config HID_HYPERV_MOUSE
1161	tristate "Microsoft Hyper-V mouse driver"
1162	depends on HYPERV
1163	help
1164	Select this option to enable the Hyper-V mouse driver.
1165
1166config HID_SMARTJOYPLUS
1167	tristate "SmartJoy PLUS PS2/USB adapter support"
1168	help
1169	Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
1170	Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
1171
1172	Note that DDR (Dance Dance Revolution) mode is not supported, nor
1173	is pressure sensitive buttons on the pro models.
1174
1175config SMARTJOYPLUS_FF
1176	bool "SmartJoy PLUS PS2/USB adapter force feedback support"
1177	depends on HID_SMARTJOYPLUS
1178	select INPUT_FF_MEMLESS
1179	help
1180	Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
1181	enable force feedback support for it.
1182
1183config HID_TIVO
1184	tristate "TiVo Slide Bluetooth remote control support"
1185	help
1186	Say Y if you have a TiVo Slide Bluetooth remote control.
1187
1188config HID_TOPSEED
1189	tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
1190	help
1191	Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
1192	CLLRCMCE remote control.
1193
1194config HID_TOPRE
1195	tristate "Topre REALFORCE keyboards"
1196	depends on HID
1197	help
1198	  Say Y for N-key rollover support on Topre REALFORCE R2 108/87 key and
1199          Topre REALFORCE R3S 87 key keyboards.
1200
1201config HID_THINGM
1202	tristate "ThingM blink(1) USB RGB LED"
1203	depends on LEDS_CLASS
1204	select HID_LED
1205	help
1206	Support for the ThingM blink(1) USB RGB LED. This driver has been
1207	merged into the generic hid led driver. Config symbol HID_THINGM
1208	just selects HID_LED and will be removed soon.
1209
1210config HID_THRUSTMASTER
1211	tristate "ThrustMaster devices support"
1212	depends on USB_HID
1213	help
1214	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2,
1215	  a THRUSTMASTER Ferrari GT Rumble Wheel or Thrustmaster FFB
1216	  Wheel (T150RS, T300RS, T300 Ferrari Alcantara Edition, T500RS).
1217
1218config THRUSTMASTER_FF
1219	bool "ThrustMaster devices force feedback support"
1220	depends on HID_THRUSTMASTER
1221	select INPUT_FF_MEMLESS
1222	help
1223	  Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
1224	  a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
1225	  Rumble Force or Force Feedback Wheel.
1226
1227config HID_UDRAW_PS3
1228	tristate "THQ PS3 uDraw tablet"
1229	help
1230	  Say Y here if you want to use the THQ uDraw gaming tablet for
1231	  the PS3.
1232
1233config HID_U2FZERO
1234	tristate "U2F Zero LED and RNG support"
1235	depends on USB_HID
1236	depends on LEDS_CLASS
1237	depends on HW_RANDOM
1238	help
1239	  Support for the LED of the U2F Zero device.
1240
1241	  U2F Zero supports custom commands for blinking the LED
1242	  and getting data from the internal hardware RNG.
1243	  The internal hardware can be used to feed the enthropy pool.
1244
1245	  U2F Zero only supports blinking its LED, so this driver doesn't
1246	  allow setting the brightness to anything but 1, which will
1247	  trigger a single blink and immediately reset back to 0.
1248
1249config HID_UNIVERSAL_PIDFF
1250	tristate "universal-pidff: extended USB PID driver compatibility and usage"
1251	depends on USB_HID
1252	depends on HID_PID
1253	help
1254	  Extended PID support for selected devices.
1255
1256	  Contains report fixups, extended usable button range and
1257	  pidff quirk management to extend compatibility with slightly
1258	  non-compliant USB PID devices and better fuzz/flat values for
1259	  high precision direct drive devices.
1260
1261	  Supports Moza Racing, Cammus, VRS, FFBeast and more.
1262
1263config HID_WACOM
1264	tristate "Wacom Intuos/Graphire tablet support (USB)"
1265	depends on USB_HID
1266	select POWER_SUPPLY
1267	select NEW_LEDS
1268	select LEDS_CLASS
1269	select LEDS_TRIGGERS
1270	help
1271	  Say Y here if you want to use the USB or BT version of the Wacom Intuos
1272	  or Graphire tablet.
1273
1274	  To compile this driver as a module, choose M here: the
1275	  module will be called wacom.
1276
1277config HID_WIIMOTE
1278	tristate "Nintendo Wii / Wii U peripherals"
1279	depends on LEDS_CLASS
1280	select POWER_SUPPLY
1281	select INPUT_FF_MEMLESS
1282	help
1283	Support for Nintendo Wii and Wii U Bluetooth peripherals. Supported
1284	devices are the Wii Remote and its extension devices, but also devices
1285	based on the Wii Remote like the Wii U Pro Controller or the
1286	Wii Balance Board.
1287
1288	Support for all official Nintendo extensions is available, however, 3rd
1289	party extensions might not be supported. Please report these devices to:
1290	  http://github.com/dvdhrm/xwiimote/issues
1291
1292	Other Nintendo Wii U peripherals that are IEEE 802.11 based (including
1293	the Wii U Gamepad) might be supported in the future. But currently
1294	support is limited to Bluetooth based devices.
1295
1296	If unsure, say N.
1297
1298	To compile this driver as a module, choose M here: the
1299	module will be called hid-wiimote.
1300
1301config HID_WINWING
1302	tristate "WinWing Orion2 throttle support"
1303	depends on USB_HID
1304	depends on NEW_LEDS
1305	depends on LEDS_CLASS
1306	help
1307	  Support for WinWing Orion2 throttle base with the following grips:
1308
1309	    * TGRIP-16EX
1310	    * TGRIP-18
1311
1312	  This driver enables all buttons and switches on the throttle base.
1313
1314	  To compile this driver as a module, choose M here: the
1315	  module will be called hid-winwing.
1316
1317config HID_XINMO
1318	tristate "Xin-Mo non-fully compliant devices"
1319	help
1320	Support for Xin-Mo devices that are not fully compliant with the HID
1321	standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here
1322	if you have a Xin-Mo Dual Arcade controller.
1323
1324config HID_ZEROPLUS
1325	tristate "Zeroplus based game controller support"
1326	help
1327	  Say Y here if you have a Zeroplus based game controller.
1328
1329config ZEROPLUS_FF
1330	bool "Zeroplus based game controller force feedback support"
1331	depends on HID_ZEROPLUS
1332	select INPUT_FF_MEMLESS
1333	help
1334	  Say Y here if you have a Zeroplus based game controller and want
1335	  to have force feedback support for it.
1336
1337config HID_ZYDACRON
1338	tristate "Zydacron remote control support"
1339	help
1340	Support for Zydacron remote control.
1341
1342config HID_SENSOR_HUB
1343	tristate "HID Sensors framework support"
1344	depends on HAS_IOMEM
1345	select MFD_CORE
1346	default n
1347	help
1348	  Support for HID Sensor framework. This creates a MFD instance
1349	  for a sensor hub and identifies all the sensors connected to it.
1350	  Each sensor is registered as a MFD cell, so that sensor specific
1351	  processing can be done in a separate driver. Each sensor
1352	  drivers can use the service provided by this driver to register
1353	  for events and handle data streams. Each sensor driver can format
1354	  data and present to user mode using input or IIO interface.
1355
1356config HID_SENSOR_CUSTOM_SENSOR
1357	tristate "HID Sensors hub custom sensor support"
1358	depends on HID_SENSOR_HUB
1359	default n
1360	help
1361	  HID Sensor hub specification allows definition of some custom and
1362	  generic sensors. Unlike other HID sensors, they can't be exported
1363	  via Linux IIO because of custom fields. This is up to the manufacturer
1364	  to decide how to interpret these special sensor ids and process in
1365	  the user space. Currently some manufacturers are using these ids for
1366	  sensor calibration and debugging other sensors. Manufacturers
1367	  shouldn't use these special custom sensor ids to export any of the
1368	  standard sensors.
1369	  Select this config option for custom/generic sensor support.
1370
1371config HID_ALPS
1372	tristate "Alps HID device support"
1373	help
1374	Support for Alps I2C HID touchpads and StickPointer.
1375	Say Y here if you have a Alps touchpads over i2c-hid or usbhid
1376	and want support for its special functionalities.
1377
1378config HID_MCP2200
1379	tristate "Microchip MCP2200 HID USB-to-GPIO bridge"
1380	depends on USB_HID && GPIOLIB
1381	help
1382	  Provides GPIO functionality over USB-HID through MCP2200 device.
1383
1384	  To compile this driver as a module, choose M here: the module
1385	  will be called hid-mcp2200.ko.
1386
1387config HID_MCP2221
1388	tristate "Microchip MCP2221 HID USB-to-I2C/SMbus host support"
1389	depends on USB_HID && I2C
1390	imply GPIOLIB
1391	imply IIO
1392	help
1393	Provides I2C and SMBUS host adapter functionality over USB-HID
1394	through MCP2221 device.
1395
1396	To compile this driver as a module, choose M here: the module
1397	will be called hid-mcp2221.ko.
1398
1399config HID_KUNIT_TEST
1400	tristate "KUnit tests for HID" if !KUNIT_ALL_TESTS
1401	depends on KUNIT
1402	depends on HID_BATTERY_STRENGTH
1403	depends on HID_UCLOGIC
1404	default KUNIT_ALL_TESTS
1405	help
1406	  This builds unit tests for HID. This option is not useful for
1407	  distributions or general kernels, but only for kernel
1408	  developers working on HID and associated drivers.
1409
1410	  For more information on KUnit and unit tests in general,
1411	  please refer to the KUnit documentation in
1412	  Documentation/dev-tools/kunit/.
1413
1414	  If in doubt, say "N".
1415
1416endmenu
1417
1418source "drivers/hid/bpf/Kconfig"
1419
1420source "drivers/hid/i2c-hid/Kconfig"
1421
1422source "drivers/hid/intel-ish-hid/Kconfig"
1423
1424source "drivers/hid/amd-sfh-hid/Kconfig"
1425
1426source "drivers/hid/surface-hid/Kconfig"
1427
1428source "drivers/hid/intel-thc-hid/Kconfig"
1429
1430endif # HID
1431
1432# USB support may be used with HID disabled
1433
1434source "drivers/hid/usbhid/Kconfig"
1435
1436endif # HID_SUPPORT
1437