diff options
Diffstat (limited to 'include/linux/hid.h')
| -rw-r--r-- | include/linux/hid.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/include/linux/hid.h b/include/linux/hid.h index 74ff57596eb1..d951ec411241 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
| @@ -284,6 +284,7 @@ struct hid_item { | |||
| 284 | #define HID_QUIRK_2WHEEL_MOUSE_HACK_B8 0x02000000 | 284 | #define HID_QUIRK_2WHEEL_MOUSE_HACK_B8 0x02000000 |
| 285 | #define HID_QUIRK_HWHEEL_WHEEL_INVERT 0x04000000 | 285 | #define HID_QUIRK_HWHEEL_WHEEL_INVERT 0x04000000 |
| 286 | #define HID_QUIRK_MICROSOFT_KEYS 0x08000000 | 286 | #define HID_QUIRK_MICROSOFT_KEYS 0x08000000 |
| 287 | #define HID_QUIRK_FULLSPEED_INTERVAL 0x10000000 | ||
| 287 | 288 | ||
| 288 | /* | 289 | /* |
| 289 | * Separate quirks for runtime report descriptor fixup | 290 | * Separate quirks for runtime report descriptor fixup |
| @@ -296,6 +297,8 @@ struct hid_item { | |||
| 296 | #define HID_QUIRK_RDESC_MACBOOK_JIS 0x00000010 | 297 | #define HID_QUIRK_RDESC_MACBOOK_JIS 0x00000010 |
| 297 | #define HID_QUIRK_RDESC_BUTTON_CONSUMER 0x00000020 | 298 | #define HID_QUIRK_RDESC_BUTTON_CONSUMER 0x00000020 |
| 298 | #define HID_QUIRK_RDESC_SAMSUNG_REMOTE 0x00000040 | 299 | #define HID_QUIRK_RDESC_SAMSUNG_REMOTE 0x00000040 |
| 300 | #define HID_QUIRK_RDESC_MICROSOFT_RECV_1028 0x00000080 | ||
| 301 | #define HID_QUIRK_RDESC_SUNPLUS_WDESKTOP 0x00000100 | ||
| 299 | 302 | ||
| 300 | /* | 303 | /* |
| 301 | * This is the global environment of the parser. This information is | 304 | * This is the global environment of the parser. This information is |
| @@ -320,7 +323,7 @@ struct hid_global { | |||
| 320 | * This is the local environment. It is persistent up the next main-item. | 323 | * This is the local environment. It is persistent up the next main-item. |
| 321 | */ | 324 | */ |
| 322 | 325 | ||
| 323 | #define HID_MAX_USAGES 8192 | 326 | #define HID_MAX_USAGES 12288 |
| 324 | #define HID_DEFAULT_NUM_COLLECTIONS 16 | 327 | #define HID_DEFAULT_NUM_COLLECTIONS 16 |
| 325 | 328 | ||
| 326 | struct hid_local { | 329 | struct hid_local { |
| @@ -421,6 +424,7 @@ struct hid_control_fifo { | |||
| 421 | #define HID_RESET_PENDING 4 | 424 | #define HID_RESET_PENDING 4 |
| 422 | #define HID_SUSPENDED 5 | 425 | #define HID_SUSPENDED 5 |
| 423 | #define HID_CLEAR_HALT 6 | 426 | #define HID_CLEAR_HALT 6 |
| 427 | #define HID_DISCONNECTED 7 | ||
| 424 | 428 | ||
| 425 | struct hid_input { | 429 | struct hid_input { |
| 426 | struct list_head list; | 430 | struct list_head list; |
| @@ -452,8 +456,6 @@ struct hid_device { /* device report descriptor */ | |||
| 452 | void *hidraw; | 456 | void *hidraw; |
| 453 | int minor; /* Hiddev minor number */ | 457 | int minor; /* Hiddev minor number */ |
| 454 | 458 | ||
| 455 | wait_queue_head_t wait; /* For sleeping */ | ||
| 456 | |||
| 457 | int open; /* is the device open by anyone? */ | 459 | int open; /* is the device open by anyone? */ |
| 458 | char name[128]; /* Device name */ | 460 | char name[128]; /* Device name */ |
| 459 | char phys[64]; /* Device physical location */ | 461 | char phys[64]; /* Device physical location */ |
| @@ -530,14 +532,12 @@ int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int | |||
| 530 | int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); | 532 | int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); |
| 531 | int hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); | 533 | int hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); |
| 532 | int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); | 534 | int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); |
| 533 | void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt); | ||
| 534 | void hid_output_report(struct hid_report *report, __u8 *data); | 535 | void hid_output_report(struct hid_report *report, __u8 *data); |
| 535 | void hid_free_device(struct hid_device *device); | 536 | void hid_free_device(struct hid_device *device); |
| 536 | struct hid_device *hid_parse_report(__u8 *start, unsigned size); | 537 | struct hid_device *hid_parse_report(__u8 *start, unsigned size); |
| 537 | 538 | ||
| 538 | /* HID quirks API */ | 539 | /* HID quirks API */ |
| 539 | u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct); | 540 | u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct); |
| 540 | int usbhid_modify_dquirk(const u16 idVendor, const u16 idProduct, const u32 quirks); | ||
| 541 | int usbhid_quirks_init(char **quirks_param); | 541 | int usbhid_quirks_init(char **quirks_param); |
| 542 | void usbhid_quirks_exit(void); | 542 | void usbhid_quirks_exit(void); |
| 543 | void usbhid_fixup_report_descriptor(const u16, const u16, char *, unsigned, char **); | 543 | void usbhid_fixup_report_descriptor(const u16, const u16, char *, unsigned, char **); |
| @@ -546,6 +546,7 @@ void usbhid_fixup_report_descriptor(const u16, const u16, char *, unsigned, char | |||
| 546 | int hid_ff_init(struct hid_device *hid); | 546 | int hid_ff_init(struct hid_device *hid); |
| 547 | 547 | ||
| 548 | int hid_lgff_init(struct hid_device *hid); | 548 | int hid_lgff_init(struct hid_device *hid); |
| 549 | int hid_lg2ff_init(struct hid_device *hid); | ||
| 549 | int hid_plff_init(struct hid_device *hid); | 550 | int hid_plff_init(struct hid_device *hid); |
| 550 | int hid_tmff_init(struct hid_device *hid); | 551 | int hid_tmff_init(struct hid_device *hid); |
| 551 | int hid_zpff_init(struct hid_device *hid); | 552 | int hid_zpff_init(struct hid_device *hid); |
| @@ -566,7 +567,11 @@ static inline int hid_ff_init(struct hid_device *hid) { return -1; } | |||
| 566 | #define dbg_hid_line(format, arg...) if (hid_debug) \ | 567 | #define dbg_hid_line(format, arg...) if (hid_debug) \ |
| 567 | printk(format, ## arg) | 568 | printk(format, ## arg) |
| 568 | #else | 569 | #else |
| 569 | #define dbg_hid(format, arg...) do {} while (0) | 570 | static inline int __attribute__((format(printf, 1, 2))) |
| 571 | dbg_hid(const char *fmt, ...) | ||
| 572 | { | ||
| 573 | return 0; | ||
| 574 | } | ||
| 570 | #define dbg_hid_line dbg_hid | 575 | #define dbg_hid_line dbg_hid |
| 571 | #endif | 576 | #endif |
| 572 | 577 | ||
