mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
a635f9dd83
It is a little bit inconvenient for people who have some non-standard HID hardware (usually violating the HID specification) to have to recompile kernel with CONFIG_HID_DEBUG to be able to see kernel's perspective of the HID report descriptor and observe the parsed events. Plus the messages are then mixed up inconveniently with the rest of the dmesg stuff. This patch implements /sys/kernel/debug/hid/<device>/rdesc file, which represents the kernel's view of report descriptor (both the raw report descriptor data and parsed contents). With all the device-specific debug data being available through debugfs, there is no need for keeping CONFIG_HID_DEBUG, as the 'debug' parameter to the hid module will now only output only driver-specific debugging options, which has absolutely minimal memory footprint, just a few error messages and one global flag (hid_debug). We use the current set of output formatting functions. The ones that need to be used both for one-shot rdesc seq_file and also for continuous flow of data (individual reports, as being sent by the device) distinguish according to the passed seq_file parameter, and if it is NULL, it still output to kernel ringbuffer, otherwise the corresponding seq_file is used for output. The format of the output is preserved. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
269 lines
6.9 KiB
Plaintext
269 lines
6.9 KiB
Plaintext
#
|
|
# HID driver configuration
|
|
#
|
|
menuconfig HID_SUPPORT
|
|
bool "HID Devices"
|
|
depends on INPUT
|
|
default y
|
|
---help---
|
|
Say Y here to get to see options for various computer-human interface
|
|
device drivers. This option alone does not add any kernel code.
|
|
|
|
If you say N, all options in this submenu will be skipped and disabled.
|
|
|
|
if HID_SUPPORT
|
|
|
|
config HID
|
|
tristate "Generic HID support"
|
|
depends on INPUT
|
|
default y
|
|
---help---
|
|
A human interface device (HID) is a type of computer device that
|
|
interacts directly with and takes input from humans. The term "HID"
|
|
most commonly used to refer to the USB-HID specification, but other
|
|
devices (such as, but not strictly limited to, Bluetooth) are
|
|
designed using HID specification (this involves certain keyboards,
|
|
mice, tablets, etc). This option compiles into kernel the generic
|
|
HID layer code (parser, usages, etc.), which can then be used by
|
|
transport-specific HID implementation (like USB or Bluetooth).
|
|
|
|
For docs and specs, see http://www.usb.org/developers/hidpage/
|
|
|
|
If unsure, say Y.
|
|
|
|
config HIDRAW
|
|
bool "/dev/hidraw raw HID device support"
|
|
depends on HID
|
|
---help---
|
|
Say Y here if you want to support HID devices (from the USB
|
|
specification standpoint) that aren't strictly user interface
|
|
devices, like monitor controls and Uninterruptable Power Supplies.
|
|
|
|
This module supports these devices separately using a separate
|
|
event interface on /dev/hidraw.
|
|
|
|
There is also a /dev/hiddev configuration option in the USB HID
|
|
configuration menu. In comparison to hiddev, this device does not process
|
|
the hid events at all (no parsing, no lookups). This lets applications
|
|
to work on raw hid events when they want to, and avoid using transport-specific
|
|
userspace libhid/libusb libraries.
|
|
|
|
If unsure, say Y.
|
|
|
|
source "drivers/hid/usbhid/Kconfig"
|
|
|
|
menu "Special HID drivers"
|
|
depends on HID
|
|
|
|
config HID_A4TECH
|
|
tristate "A4 tech" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for A4 tech X5 and WOP-35 / Trust 450L mice.
|
|
|
|
config HID_APPLE
|
|
tristate "Apple" if EMBEDDED
|
|
depends on (USB_HID || BT_HIDP)
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for some Apple devices which less or more break
|
|
HID specification.
|
|
|
|
Say Y here if you want support for keyboards of Apple iBooks, PowerBooks,
|
|
MacBooks, MacBook Pros and Apple Aluminum.
|
|
|
|
config HID_BELKIN
|
|
tristate "Belkin" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Belkin Flip KVM and Wireless keyboard.
|
|
|
|
config HID_CHERRY
|
|
tristate "Cherry" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Cherry Cymotion keyboard.
|
|
|
|
config HID_CHICONY
|
|
tristate "Chicony" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Chicony Tactical pad.
|
|
|
|
config HID_CYPRESS
|
|
tristate "Cypress" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for cypress mouse and barcode readers.
|
|
|
|
config DRAGONRISE_FF
|
|
tristate "DragonRise Inc. force feedback support"
|
|
depends on USB_HID
|
|
select INPUT_FF_MEMLESS
|
|
---help---
|
|
Say Y here if you want to enable force feedback support for DragonRise Inc.
|
|
game controllers.
|
|
|
|
config HID_EZKEY
|
|
tristate "Ezkey" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Ezkey BTC 8193 keyboard.
|
|
|
|
config HID_KYE
|
|
tristate "Kye" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Kye/Genius Ergo Mouse.
|
|
|
|
config HID_GYRATION
|
|
tristate "Gyration" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Gyration remote control.
|
|
|
|
config HID_KENSINGTON
|
|
tristate "Kensington" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Kensington Slimblade Trackball.
|
|
|
|
config HID_LOGITECH
|
|
tristate "Logitech" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Logitech devices that are not fully compliant with HID standard.
|
|
|
|
config LOGITECH_FF
|
|
bool "Logitech force feedback"
|
|
depends on HID_LOGITECH
|
|
select INPUT_FF_MEMLESS
|
|
help
|
|
Say Y here if you have one of these devices:
|
|
- Logitech WingMan Cordless RumblePad
|
|
- Logitech WingMan Cordless RumblePad 2
|
|
- Logitech WingMan Force 3D
|
|
- Logitech Formula Force EX
|
|
- Logitech MOMO Force wheel
|
|
|
|
and if you want to enable force feedback for them.
|
|
Note: if you say N here, this device will still be supported, but without
|
|
force feedback.
|
|
|
|
config LOGIRUMBLEPAD2_FF
|
|
bool "Logitech Rumblepad 2 force feedback"
|
|
depends on HID_LOGITECH
|
|
select INPUT_FF_MEMLESS
|
|
help
|
|
Say Y here if you want to enable force feedback support for Logitech
|
|
Rumblepad 2 devices.
|
|
|
|
config HID_MICROSOFT
|
|
tristate "Microsoft" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Microsoft devices that are not fully compliant with HID standard.
|
|
|
|
config HID_MONTEREY
|
|
tristate "Monterey" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Monterey Genius KB29E.
|
|
|
|
config HID_NTRIG
|
|
tristate "NTrig" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for N-Trig touch screen.
|
|
|
|
config HID_PANTHERLORD
|
|
tristate "Pantherlord devices support" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for PantherLord/GreenAsia based device support.
|
|
|
|
config PANTHERLORD_FF
|
|
bool "Pantherlord force feedback support"
|
|
depends on HID_PANTHERLORD
|
|
select INPUT_FF_MEMLESS
|
|
help
|
|
Say Y here if you have a PantherLord/GreenAsia based game controller
|
|
or adapter and want to enable force feedback support for it.
|
|
|
|
config HID_PETALYNX
|
|
tristate "Petalynx" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Petalynx Maxter remote control.
|
|
|
|
config HID_SAMSUNG
|
|
tristate "Samsung" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Samsung InfraRed remote control.
|
|
|
|
config HID_SONY
|
|
tristate "Sony" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Sony PS3 controller.
|
|
|
|
config HID_SUNPLUS
|
|
tristate "Sunplus" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Support for Sunplus wireless desktop.
|
|
|
|
config GREENASIA_FF
|
|
tristate "GreenAsia (Product ID 0x12) force feedback support"
|
|
depends on USB_HID
|
|
select INPUT_FF_MEMLESS
|
|
---help---
|
|
Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
|
|
(like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
|
|
and want to enable force feedback support for it.
|
|
|
|
config HID_TOPSEED
|
|
tristate "TopSeed Cyberlink remote control support" if EMBEDDED
|
|
depends on USB_HID
|
|
default !EMBEDDED
|
|
---help---
|
|
Say Y if you have a TopSeed Cyberlink remote control.
|
|
|
|
config THRUSTMASTER_FF
|
|
tristate "ThrustMaster devices support"
|
|
depends on USB_HID
|
|
select INPUT_FF_MEMLESS
|
|
help
|
|
Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
|
|
a THRUSTMASTER Ferrari GT Rumble Force or Force Feedback Wheel.
|
|
|
|
config ZEROPLUS_FF
|
|
tristate "Zeroplus based game controller support"
|
|
depends on USB_HID
|
|
select INPUT_FF_MEMLESS
|
|
help
|
|
Say Y here if you have a Zeroplus based game controller.
|
|
|
|
endmenu
|
|
|
|
endif # HID_SUPPORT
|