diff options
Diffstat (limited to 'include/linux/hid.h')
-rw-r--r-- | include/linux/hid.h | 18 |
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 | ||
298 | struct hid_local { | 306 | struct hid_local { |
@@ -492,6 +500,12 @@ void hid_output_report(struct hid_report *report, __u8 *data); | |||
492 | void hid_free_device(struct hid_device *device); | 500 | void hid_free_device(struct hid_device *device); |
493 | struct hid_device *hid_parse_report(__u8 *start, unsigned size); | 501 | struct hid_device *hid_parse_report(__u8 *start, unsigned size); |
494 | 502 | ||
503 | /* HID quirks API */ | ||
504 | u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct); | ||
505 | int usbhid_modify_dquirk(const u16 idVendor, const u16 idProduct, const u32 quirks); | ||
506 | int usbhid_quirks_init(char **quirks_param); | ||
507 | void usbhid_quirks_exit(void); | ||
508 | |||
495 | #ifdef CONFIG_HID_FF | 509 | #ifdef CONFIG_HID_FF |
496 | int hid_ff_init(struct hid_device *hid); | 510 | int hid_ff_init(struct hid_device *hid); |
497 | 511 | ||