diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-02 19:24:28 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-02 19:24:28 -0400 |
| commit | 0f1b1e6d73cb989ce2c071edc57deade3b084dfe (patch) | |
| tree | 1bd8f2d3ea66dbc3fadd9a9ca522caa99d9b5277 /include/uapi/linux | |
| parent | 159d8133d0b54a501a41a66fe3a0e7d16405e36d (diff) | |
| parent | 3ae821effdfea47dcb36b52e0a8dffd9757a96a6 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID updates from Jiri Kosina:
- substantial cleanup of the generic and transport layers, in the
direction of an ultimate goal of making struct hid_device completely
transport independent, by Benjamin Tissoires
- cp2112 driver from David Barksdale
- a lot of fixes and new hardware support (Dualshock 4) to hid-sony
driver, by Frank Praznik
- support for Win 8.1 multitouch protocol by Andrew Duggan
- other smaller fixes / device ID additions
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (75 commits)
HID: sony: fix force feedback mismerge
HID: sony: Set the quriks flag for Bluetooth controllers
HID: sony: Fix Sixaxis cable state detection
HID: uhid: Add UHID_CREATE2 + UHID_INPUT2
HID: hyperv: fix _raw_request() prototype
HID: hyperv: Implement a stub raw_request() entry point
HID: hid-sensor-hub: fix sleeping function called from invalid context
HID: multitouch: add support for Win 8.1 multitouch touchpads
HID: remove hid_output_raw_report transport implementations
HID: sony: do not rely on hid_output_raw_report
HID: cp2112: remove the last hid_output_raw_report() call
HID: cp2112: remove various hid_out_raw_report calls
HID: multitouch: add support of other generic collections in hid-mt
HID: multitouch: remove pen special handling
HID: multitouch: remove registered devices with default behavior
HID: hidp: Add a comment that some devices depend on the current behavior of uniq
HID: sony: Prevent duplicate controller connections.
HID: sony: Perform a boundry check on the sixaxis battery level index.
HID: sony: Fix work queue issues
HID: sony: Fix multi-line comment styling
...
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/uhid.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/uapi/linux/uhid.h b/include/uapi/linux/uhid.h index 414b74be4da1..1e3b09c191cd 100644 --- a/include/uapi/linux/uhid.h +++ b/include/uapi/linux/uhid.h | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | 21 | ||
| 22 | #include <linux/input.h> | 22 | #include <linux/input.h> |
| 23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
| 24 | #include <linux/hid.h> | ||
| 24 | 25 | ||
| 25 | enum uhid_event_type { | 26 | enum uhid_event_type { |
| 26 | UHID_CREATE, | 27 | UHID_CREATE, |
| @@ -34,6 +35,8 @@ enum uhid_event_type { | |||
| 34 | UHID_INPUT, | 35 | UHID_INPUT, |
| 35 | UHID_FEATURE, | 36 | UHID_FEATURE, |
| 36 | UHID_FEATURE_ANSWER, | 37 | UHID_FEATURE_ANSWER, |
| 38 | UHID_CREATE2, | ||
| 39 | UHID_INPUT2, | ||
| 37 | }; | 40 | }; |
| 38 | 41 | ||
| 39 | struct uhid_create_req { | 42 | struct uhid_create_req { |
| @@ -50,6 +53,19 @@ struct uhid_create_req { | |||
| 50 | __u32 country; | 53 | __u32 country; |
| 51 | } __attribute__((__packed__)); | 54 | } __attribute__((__packed__)); |
| 52 | 55 | ||
| 56 | struct uhid_create2_req { | ||
| 57 | __u8 name[128]; | ||
| 58 | __u8 phys[64]; | ||
| 59 | __u8 uniq[64]; | ||
| 60 | __u16 rd_size; | ||
| 61 | __u16 bus; | ||
| 62 | __u32 vendor; | ||
| 63 | __u32 product; | ||
| 64 | __u32 version; | ||
| 65 | __u32 country; | ||
| 66 | __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE]; | ||
| 67 | } __attribute__((__packed__)); | ||
| 68 | |||
| 53 | #define UHID_DATA_MAX 4096 | 69 | #define UHID_DATA_MAX 4096 |
| 54 | 70 | ||
| 55 | enum uhid_report_type { | 71 | enum uhid_report_type { |
| @@ -63,6 +79,11 @@ struct uhid_input_req { | |||
| 63 | __u16 size; | 79 | __u16 size; |
| 64 | } __attribute__((__packed__)); | 80 | } __attribute__((__packed__)); |
| 65 | 81 | ||
| 82 | struct uhid_input2_req { | ||
| 83 | __u16 size; | ||
| 84 | __u8 data[UHID_DATA_MAX]; | ||
| 85 | } __attribute__((__packed__)); | ||
| 86 | |||
| 66 | struct uhid_output_req { | 87 | struct uhid_output_req { |
| 67 | __u8 data[UHID_DATA_MAX]; | 88 | __u8 data[UHID_DATA_MAX]; |
| 68 | __u16 size; | 89 | __u16 size; |
| @@ -100,6 +121,8 @@ struct uhid_event { | |||
| 100 | struct uhid_output_ev_req output_ev; | 121 | struct uhid_output_ev_req output_ev; |
| 101 | struct uhid_feature_req feature; | 122 | struct uhid_feature_req feature; |
| 102 | struct uhid_feature_answer_req feature_answer; | 123 | struct uhid_feature_answer_req feature_answer; |
| 124 | struct uhid_create2_req create2; | ||
| 125 | struct uhid_input2_req input2; | ||
| 103 | } u; | 126 | } u; |
| 104 | } __attribute__((__packed__)); | 127 | } __attribute__((__packed__)); |
| 105 | 128 | ||
