aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hid.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/hid.h')
-rw-r--r--include/linux/hid.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/include/linux/hid.h b/include/linux/hid.h
index d26b08f461f2..37076b116ed0 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -6,7 +6,7 @@
6 * 6 *
7 * Copyright (c) 1999 Andreas Gal 7 * Copyright (c) 1999 Andreas Gal
8 * Copyright (c) 2000-2001 Vojtech Pavlik 8 * Copyright (c) 2000-2001 Vojtech Pavlik
9 * Copyright (c) 2006 Jiri Kosina 9 * Copyright (c) 2006-2007 Jiri Kosina
10 */ 10 */
11 11
12/* 12/*
@@ -247,6 +247,11 @@ struct hid_item {
247 * HID device quirks. 247 * HID device quirks.
248 */ 248 */
249 249
250/*
251 * Increase this if you need to configure more HID quirks at module load time
252 */
253#define MAX_USBHID_BOOT_QUIRKS 4
254
250#define HID_QUIRK_INVERT 0x00000001 255#define HID_QUIRK_INVERT 0x00000001
251#define HID_QUIRK_NOTOUCH 0x00000002 256#define HID_QUIRK_NOTOUCH 0x00000002
252#define HID_QUIRK_IGNORE 0x00000004 257#define HID_QUIRK_IGNORE 0x00000004
@@ -267,6 +272,9 @@ struct hid_item {
267#define HID_QUIRK_SKIP_OUTPUT_REPORTS 0x00020000 272#define HID_QUIRK_SKIP_OUTPUT_REPORTS 0x00020000
268#define HID_QUIRK_IGNORE_MOUSE 0x00040000 273#define HID_QUIRK_IGNORE_MOUSE 0x00040000
269#define HID_QUIRK_SONY_PS3_CONTROLLER 0x00080000 274#define HID_QUIRK_SONY_PS3_CONTROLLER 0x00080000
275#define HID_QUIRK_LOGITECH_DESCRIPTOR 0x00100000
276#define HID_QUIRK_DUPLICATE_USAGES 0x00200000
277#define HID_QUIRK_RESET_LEDS 0x00400000
270 278
271/* 279/*
272 * This is the global environment of the parser. This information is 280 * This is the global environment of the parser. This information is
@@ -292,7 +300,7 @@ struct hid_global {
292 */ 300 */
293 301
294#define HID_MAX_DESCRIPTOR_SIZE 4096 302#define HID_MAX_DESCRIPTOR_SIZE 4096
295#define HID_MAX_USAGES 1024 303#define HID_MAX_USAGES 8192
296#define HID_DEFAULT_NUM_COLLECTIONS 16 304#define HID_DEFAULT_NUM_COLLECTIONS 16
297 305
298struct hid_local { 306struct hid_local {
@@ -492,6 +500,12 @@ void hid_output_report(struct hid_report *report, __u8 *data);
492void hid_free_device(struct hid_device *device); 500void hid_free_device(struct hid_device *device);
493struct hid_device *hid_parse_report(__u8 *start, unsigned size); 501struct hid_device *hid_parse_report(__u8 *start, unsigned size);
494 502
503/* HID quirks API */
504u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct);
505int usbhid_modify_dquirk(const u16 idVendor, const u16 idProduct, const u32 quirks);
506int usbhid_quirks_init(char **quirks_param);
507void usbhid_quirks_exit(void);
508
495#ifdef CONFIG_HID_FF 509#ifdef CONFIG_HID_FF
496int hid_ff_init(struct hid_device *hid); 510int hid_ff_init(struct hid_device *hid);
497 511