HID: add compat support
[linux-2.6.git] / drivers / hid / Kconfig
index 96d4a0bb22033ce10e1702fc91cdb74645cb8628..d9d1a5671d957aab72011aed82055f3e695a9a67 100644 (file)
 #
 # HID driver configuration
 #
-menu "HID Devices"
+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 HID_DEBUG
+       bool "HID debugging support"
+       default y if !EMBEDDED
+       depends on HID
+       ---help---
+       This option lets the HID layer output diagnostics about its internal
+       state, resolve HID usages, dump HID fields, etc. Individual HID drivers
+       use this debugging facility to output information about individual HID
+       devices, etc.
+
+       This feature is useful for those who are either debugging the HID parser
+       or any HID hardware device.
+
+       If unsure, say N
+
+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_COMPAT
+       bool "Load all HID drivers on hid core load"
        default y
        ---help---
-         Say Y here if you want generic HID support to connect keyboards,
-         mice, joysticks, graphic tablets, or any other HID based devices
-         to your computer. You also need to select particular types of
-         HID devices you want to compile support for, in the particular
-         driver menu (USB, Bluetooth)
+       Compatible option for older userspace. If you have system without udev
+       support of module loading through aliases and also old
+       module-init-tools which can't handle hid bus, choose Y here. Otherwise
+       say N. If you say N and your userspace is old enough, the only
+       functionality you loose is modules autoloading.
+
+       If unsure, say Y.
+
+config HID_APPLE
+       tristate "Apple"
+       default m
+       depends on (USB_HID || BT_HIDP)
+       ---help---
+       Support for some Apple devices which less or more break
+       HID specification.
+
+       Say Y here if you want support for the special keys (Fn, Numlock) on
+       Apple iBooks, PowerBooks, MacBooks, MacBook Pros and aluminum USB
+       keyboards.
+
+       If unsure, say M.
+
+config HID_LOGITECH
+       tristate "Logitech"
+       default m
+       depends on USB_HID
+       ---help---
+       Support for some Logitech devices which breaks less or more
+       HID specification.
 
 endmenu
 
+endif # HID_SUPPORT