diff options
author | Jiri Kosina <jkosina@suse.cz> | 2011-05-18 11:06:31 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-05-18 11:06:49 -0400 |
commit | 6b7b8e488bbdedeccabdd001a78ffcbe43bb8a3a (patch) | |
tree | f2f77cc31b4548745778fca6a51b09e1d8a49804 /drivers/hid | |
parent | b50f315cbb865079a16a12fd9ae6083f98fd592c (diff) | |
parent | c1d10d18c542278b7fbc413c289d3cb6219da6b3 (diff) |
Merge branch 'master' into upstream.
This is sync with Linus' tree to receive KEY_IMAGES definition
that went in through input tree.
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/Kconfig | 13 | ||||
-rw-r--r-- | drivers/hid/hid-apple.c | 6 | ||||
-rw-r--r-- | drivers/hid/hid-core.c | 12 | ||||
-rw-r--r-- | drivers/hid/hid-debug.c | 2 | ||||
-rw-r--r-- | drivers/hid/hid-ids.h | 7 | ||||
-rw-r--r-- | drivers/hid/hid-input.c | 4 | ||||
-rw-r--r-- | drivers/hid/hid-lgff.c | 2 | ||||
-rw-r--r-- | drivers/hid/hid-magicmouse.c | 4 | ||||
-rw-r--r-- | drivers/hid/hid-ortek.c | 16 | ||||
-rw-r--r-- | drivers/hid/hid-picolcd.c | 5 | ||||
-rw-r--r-- | drivers/hid/hid-roccat-kone.h | 2 | ||||
-rw-r--r-- | drivers/hid/hid-roccat-pyra.c | 3 | ||||
-rw-r--r-- | drivers/hid/usbhid/hid-quirks.c | 1 |
13 files changed, 61 insertions, 16 deletions
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index b7ec4057841d..9de9e97149ec 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig | |||
@@ -185,7 +185,7 @@ config HID_EZKEY | |||
185 | Support for Ezkey BTC 8193 keyboard. | 185 | Support for Ezkey BTC 8193 keyboard. |
186 | 186 | ||
187 | config HID_KEYTOUCH | 187 | config HID_KEYTOUCH |
188 | tristate "Keyoutch HID devices" | 188 | tristate "Keytouch HID devices" |
189 | depends on USB_HID | 189 | depends on USB_HID |
190 | ---help--- | 190 | ---help--- |
191 | Support for Keytouch HID devices not fully compliant with | 191 | Support for Keytouch HID devices not fully compliant with |
@@ -340,10 +340,17 @@ config HID_NTRIG | |||
340 | Support for N-Trig touch screen. | 340 | Support for N-Trig touch screen. |
341 | 341 | ||
342 | config HID_ORTEK | 342 | config HID_ORTEK |
343 | tristate "Ortek PKB-1700/WKB-2000 wireless keyboard and mouse trackpad" | 343 | tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" |
344 | depends on USB_HID | 344 | depends on USB_HID |
345 | ---help--- | 345 | ---help--- |
346 | Support for Ortek PKB-1700/WKB-2000 wireless keyboard + mouse trackpad. | 346 | There are certain devices which have LogicalMaximum wrong in the keyboard |
347 | usage page of their report descriptor. The most prevailing ones so far | ||
348 | are manufactured by Ortek, thus the name of the driver. Currently | ||
349 | supported devices by this driver are | ||
350 | |||
351 | - Ortek PKB-1700 | ||
352 | - Ortek WKB-2000 | ||
353 | - Skycable wireless presenter | ||
347 | 354 | ||
348 | config HID_PANTHERLORD | 355 | config HID_PANTHERLORD |
349 | tristate "Pantherlord/GreenAsia game controller" | 356 | tristate "Pantherlord/GreenAsia game controller" |
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index 61aa71233392..b85744fe8464 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c | |||
@@ -481,6 +481,12 @@ static const struct hid_device_id apple_devices[] = { | |||
481 | .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, | 481 | .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, |
482 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS), | 482 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS), |
483 | .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, | 483 | .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, |
484 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI), | ||
485 | .driver_data = APPLE_HAS_FN }, | ||
486 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO), | ||
487 | .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, | ||
488 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS), | ||
489 | .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, | ||
484 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), | 490 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), |
485 | .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, | 491 | .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, |
486 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), | 492 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), |
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index c3d66269ed7d..408c4bea4d8d 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c | |||
@@ -306,7 +306,7 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item) | |||
306 | case HID_GLOBAL_ITEM_TAG_PUSH: | 306 | case HID_GLOBAL_ITEM_TAG_PUSH: |
307 | 307 | ||
308 | if (parser->global_stack_ptr == HID_GLOBAL_STACK_SIZE) { | 308 | if (parser->global_stack_ptr == HID_GLOBAL_STACK_SIZE) { |
309 | dbg_hid("global enviroment stack overflow\n"); | 309 | dbg_hid("global environment stack overflow\n"); |
310 | return -1; | 310 | return -1; |
311 | } | 311 | } |
312 | 312 | ||
@@ -317,7 +317,7 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item) | |||
317 | case HID_GLOBAL_ITEM_TAG_POP: | 317 | case HID_GLOBAL_ITEM_TAG_POP: |
318 | 318 | ||
319 | if (!parser->global_stack_ptr) { | 319 | if (!parser->global_stack_ptr) { |
320 | dbg_hid("global enviroment stack underflow\n"); | 320 | dbg_hid("global environment stack underflow\n"); |
321 | return -1; | 321 | return -1; |
322 | } | 322 | } |
323 | 323 | ||
@@ -1333,6 +1333,9 @@ static const struct hid_device_id hid_have_special_driver[] = { | |||
1333 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) }, | 1333 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) }, |
1334 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) }, | 1334 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) }, |
1335 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) }, | 1335 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) }, |
1336 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI) }, | ||
1337 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO) }, | ||
1338 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS) }, | ||
1336 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) }, | 1339 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) }, |
1337 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) }, | 1340 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) }, |
1338 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) }, | 1341 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) }, |
@@ -1446,8 +1449,10 @@ static const struct hid_device_id hid_have_special_driver[] = { | |||
1446 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONEPLUS) }, | 1449 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KONEPLUS) }, |
1447 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KOVAPLUS) }, | 1450 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_KOVAPLUS) }, |
1448 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_PYRA_WIRED) }, | 1451 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_PYRA_WIRED) }, |
1452 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, USB_DEVICE_ID_ROCCAT_PYRA_WIRELESS) }, | ||
1449 | { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, | 1453 | { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, |
1450 | { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) }, | 1454 | { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) }, |
1455 | { HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) }, | ||
1451 | { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, | 1456 | { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, |
1452 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, | 1457 | { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) }, |
1453 | { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) }, | 1458 | { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE) }, |
@@ -1840,6 +1845,9 @@ static const struct hid_device_id hid_mouse_ignore_list[] = { | |||
1840 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) }, | 1845 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI) }, |
1841 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) }, | 1846 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO) }, |
1842 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) }, | 1847 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) }, |
1848 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI) }, | ||
1849 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO) }, | ||
1850 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS) }, | ||
1843 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, | 1851 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, |
1844 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, | 1852 | { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, |
1845 | { } | 1853 | { } |
diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c index 555382fc7417..bae48745bb42 100644 --- a/drivers/hid/hid-debug.c +++ b/drivers/hid/hid-debug.c | |||
@@ -341,7 +341,7 @@ static const struct hid_usage_entry hid_usage_table[] = { | |||
341 | { 0x85, 0x83, "DesignCapacity" }, | 341 | { 0x85, 0x83, "DesignCapacity" }, |
342 | { 0x85, 0x85, "ManufacturerDate" }, | 342 | { 0x85, 0x85, "ManufacturerDate" }, |
343 | { 0x85, 0x89, "iDeviceChemistry" }, | 343 | { 0x85, 0x89, "iDeviceChemistry" }, |
344 | { 0x85, 0x8b, "Rechargable" }, | 344 | { 0x85, 0x8b, "Rechargeable" }, |
345 | { 0x85, 0x8f, "iOEMInformation" }, | 345 | { 0x85, 0x8f, "iOEMInformation" }, |
346 | { 0x85, 0x8d, "CapacityGranularity1" }, | 346 | { 0x85, 0x8d, "CapacityGranularity1" }, |
347 | { 0x85, 0xd0, "ACPresent" }, | 347 | { 0x85, 0xd0, "ACPresent" }, |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index d485894ff4db..00a94b535d28 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
@@ -103,6 +103,9 @@ | |||
103 | #define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI 0x0242 | 103 | #define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI 0x0242 |
104 | #define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO 0x0243 | 104 | #define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO 0x0243 |
105 | #define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS 0x0244 | 105 | #define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS 0x0244 |
106 | #define USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI 0x0245 | ||
107 | #define USB_DEVICE_ID_APPLE_WELLSPRING5_ISO 0x0246 | ||
108 | #define USB_DEVICE_ID_APPLE_WELLSPRING5_JIS 0x0247 | ||
106 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI 0x0239 | 109 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI 0x0239 |
107 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO 0x023a | 110 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO 0x023a |
108 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS 0x023b | 111 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS 0x023b |
@@ -147,6 +150,7 @@ | |||
147 | #define USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6 0x0f01 | 150 | #define USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6 0x0f01 |
148 | 151 | ||
149 | #define USB_VENDOR_ID_CH 0x068e | 152 | #define USB_VENDOR_ID_CH 0x068e |
153 | #define USB_DEVICE_ID_CH_PRO_THROTTLE 0x00f1 | ||
150 | #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2 | 154 | #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2 |
151 | #define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4 | 155 | #define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4 |
152 | #define USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE 0x0051 | 156 | #define USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE 0x0051 |
@@ -521,6 +525,9 @@ | |||
521 | #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 | 525 | #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 |
522 | #define USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE 0x0600 | 526 | #define USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE 0x0600 |
523 | 527 | ||
528 | #define USB_VENDOR_ID_SKYCABLE 0x1223 | ||
529 | #define USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER 0x3F07 | ||
530 | |||
524 | #define USB_VENDOR_ID_SONY 0x054c | 531 | #define USB_VENDOR_ID_SONY 0x054c |
525 | #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b | 532 | #define USB_DEVICE_ID_SONY_VAIO_VGX_MOUSE 0x024b |
526 | #define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 | 533 | #define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268 |
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index cd74203c8178..33dde8724e02 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -900,8 +900,8 @@ int hidinput_connect(struct hid_device *hid, unsigned int force) | |||
900 | hid->ll_driver->hidinput_input_event; | 900 | hid->ll_driver->hidinput_input_event; |
901 | input_dev->open = hidinput_open; | 901 | input_dev->open = hidinput_open; |
902 | input_dev->close = hidinput_close; | 902 | input_dev->close = hidinput_close; |
903 | input_dev->setkeycode_new = hidinput_setkeycode; | 903 | input_dev->setkeycode = hidinput_setkeycode; |
904 | input_dev->getkeycode_new = hidinput_getkeycode; | 904 | input_dev->getkeycode = hidinput_getkeycode; |
905 | 905 | ||
906 | input_dev->name = hid->name; | 906 | input_dev->name = hid->name; |
907 | input_dev->phys = hid->phys; | 907 | input_dev->phys = hid->phys; |
diff --git a/drivers/hid/hid-lgff.c b/drivers/hid/hid-lgff.c index 90d0ef2c92be..f099079ca6b9 100644 --- a/drivers/hid/hid-lgff.c +++ b/drivers/hid/hid-lgff.c | |||
@@ -73,6 +73,8 @@ static const struct dev_type devices[] = { | |||
73 | { 0x046d, 0xc293, ff_joystick }, | 73 | { 0x046d, 0xc293, ff_joystick }, |
74 | { 0x046d, 0xc294, ff_wheel }, | 74 | { 0x046d, 0xc294, ff_wheel }, |
75 | { 0x046d, 0xc295, ff_joystick }, | 75 | { 0x046d, 0xc295, ff_joystick }, |
76 | { 0x046d, 0xc298, ff_wheel }, | ||
77 | { 0x046d, 0xc299, ff_wheel }, | ||
76 | { 0x046d, 0xca03, ff_wheel }, | 78 | { 0x046d, 0xca03, ff_wheel }, |
77 | }; | 79 | }; |
78 | 80 | ||
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c index 318cc40df92d..0ec91c18a421 100644 --- a/drivers/hid/hid-magicmouse.c +++ b/drivers/hid/hid-magicmouse.c | |||
@@ -76,7 +76,7 @@ MODULE_PARM_DESC(report_undeciphered, "Report undeciphered multi-touch state fie | |||
76 | * This is true when single_touch_id is equal to NO_TOUCHES. If multiple touches | 76 | * This is true when single_touch_id is equal to NO_TOUCHES. If multiple touches |
77 | * are down and the touch providing for single touch emulation is lifted, | 77 | * are down and the touch providing for single touch emulation is lifted, |
78 | * single_touch_id is equal to SINGLE_TOUCH_UP. While single touch emulation is | 78 | * single_touch_id is equal to SINGLE_TOUCH_UP. While single touch emulation is |
79 | * occuring, single_touch_id corresponds with the tracking id of the touch used. | 79 | * occurring, single_touch_id corresponds with the tracking id of the touch used. |
80 | */ | 80 | */ |
81 | #define NO_TOUCHES -1 | 81 | #define NO_TOUCHES -1 |
82 | #define SINGLE_TOUCH_UP -2 | 82 | #define SINGLE_TOUCH_UP -2 |
@@ -418,6 +418,8 @@ static void magicmouse_setup_input(struct input_dev *input, struct hid_device *h | |||
418 | input_set_abs_params(input, ABS_MT_POSITION_Y, -2456, | 418 | input_set_abs_params(input, ABS_MT_POSITION_Y, -2456, |
419 | 2565, 4, 0); | 419 | 2565, 4, 0); |
420 | } | 420 | } |
421 | |||
422 | input_set_events_per_packet(input, 60); | ||
421 | } | 423 | } |
422 | 424 | ||
423 | if (report_undeciphered) { | 425 | if (report_undeciphered) { |
diff --git a/drivers/hid/hid-ortek.c b/drivers/hid/hid-ortek.c index f9b7dd4f607f..0ffa1d2d64f0 100644 --- a/drivers/hid/hid-ortek.c +++ b/drivers/hid/hid-ortek.c | |||
@@ -1,8 +1,14 @@ | |||
1 | /* | 1 | /* |
2 | * HID driver for Ortek PKB-1700/WKB-2000 (wireless keyboard + mouse trackpad). | 2 | * HID driver for various devices which are apparently based on the same chipset |
3 | * Fixes LogicalMaximum error in HID report description. | 3 | * from certain vendor which produces chips that contain wrong LogicalMaximum |
4 | * value in their HID report descriptor. Currently supported devices are: | ||
5 | * | ||
6 | * Ortek PKB-1700 | ||
7 | * Ortek WKB-2000 | ||
8 | * Skycable wireless presenter | ||
4 | * | 9 | * |
5 | * Copyright (c) 2010 Johnathon Harris <jmharris@gmail.com> | 10 | * Copyright (c) 2010 Johnathon Harris <jmharris@gmail.com> |
11 | * Copyright (c) 2011 Jiri Kosina | ||
6 | */ | 12 | */ |
7 | 13 | ||
8 | /* | 14 | /* |
@@ -22,8 +28,11 @@ static __u8 *ortek_report_fixup(struct hid_device *hdev, __u8 *rdesc, | |||
22 | unsigned int *rsize) | 28 | unsigned int *rsize) |
23 | { | 29 | { |
24 | if (*rsize >= 56 && rdesc[54] == 0x25 && rdesc[55] == 0x01) { | 30 | if (*rsize >= 56 && rdesc[54] == 0x25 && rdesc[55] == 0x01) { |
25 | hid_info(hdev, "Fixing up Ortek WKB-2000 report descriptor\n"); | 31 | hid_info(hdev, "Fixing up logical minimum in report descriptor (Ortek)\n"); |
26 | rdesc[55] = 0x92; | 32 | rdesc[55] = 0x92; |
33 | } else if (*rsize >= 54 && rdesc[52] == 0x25 && rdesc[53] == 0x01) { | ||
34 | hid_info(hdev, "Fixing up logical minimum in report descriptor (Skycable)\n"); | ||
35 | rdesc[53] = 0x65; | ||
27 | } | 36 | } |
28 | return rdesc; | 37 | return rdesc; |
29 | } | 38 | } |
@@ -31,6 +40,7 @@ static __u8 *ortek_report_fixup(struct hid_device *hdev, __u8 *rdesc, | |||
31 | static const struct hid_device_id ortek_devices[] = { | 40 | static const struct hid_device_id ortek_devices[] = { |
32 | { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) }, | 41 | { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) }, |
33 | { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, | 42 | { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, |
43 | { HID_USB_DEVICE(USB_VENDOR_ID_SKYCABLE, USB_DEVICE_ID_SKYCABLE_WIRELESS_PRESENTER) }, | ||
34 | { } | 44 | { } |
35 | }; | 45 | }; |
36 | MODULE_DEVICE_TABLE(hid, ortek_devices); | 46 | MODULE_DEVICE_TABLE(hid, ortek_devices); |
diff --git a/drivers/hid/hid-picolcd.c b/drivers/hid/hid-picolcd.c index 6f0642ea1009..9d8710f8bc79 100644 --- a/drivers/hid/hid-picolcd.c +++ b/drivers/hid/hid-picolcd.c | |||
@@ -944,6 +944,7 @@ static int picolcd_init_backlight(struct picolcd_data *data, struct hid_report * | |||
944 | } | 944 | } |
945 | 945 | ||
946 | memset(&props, 0, sizeof(props)); | 946 | memset(&props, 0, sizeof(props)); |
947 | props.type = BACKLIGHT_RAW; | ||
947 | props.max_brightness = 0xff; | 948 | props.max_brightness = 0xff; |
948 | bdev = backlight_device_register(dev_name(dev), dev, data, | 949 | bdev = backlight_device_register(dev_name(dev), dev, data, |
949 | &picolcd_blops, &props); | 950 | &picolcd_blops, &props); |
@@ -1805,13 +1806,13 @@ static ssize_t picolcd_debug_flash_write(struct file *f, const char __user *u, | |||
1805 | /* | 1806 | /* |
1806 | * Notes: | 1807 | * Notes: |
1807 | * - concurrent writing is prevented by mutex and all writes must be | 1808 | * - concurrent writing is prevented by mutex and all writes must be |
1808 | * n*64 bytes and 64-byte aligned, each write being preceeded by an | 1809 | * n*64 bytes and 64-byte aligned, each write being preceded by an |
1809 | * ERASE which erases a 64byte block. | 1810 | * ERASE which erases a 64byte block. |
1810 | * If less than requested was written or an error is returned for an | 1811 | * If less than requested was written or an error is returned for an |
1811 | * otherwise correct write request the next 64-byte block which should | 1812 | * otherwise correct write request the next 64-byte block which should |
1812 | * have been written is in undefined state (mostly: original, erased, | 1813 | * have been written is in undefined state (mostly: original, erased, |
1813 | * (half-)written with write error) | 1814 | * (half-)written with write error) |
1814 | * - reading can happend without special restriction | 1815 | * - reading can happen without special restriction |
1815 | */ | 1816 | */ |
1816 | static const struct file_operations picolcd_debug_flash_fops = { | 1817 | static const struct file_operations picolcd_debug_flash_fops = { |
1817 | .owner = THIS_MODULE, | 1818 | .owner = THIS_MODULE, |
diff --git a/drivers/hid/hid-roccat-kone.h b/drivers/hid/hid-roccat-kone.h index 64abb5b8a59a..4109a028e138 100644 --- a/drivers/hid/hid-roccat-kone.h +++ b/drivers/hid/hid-roccat-kone.h | |||
@@ -166,7 +166,7 @@ enum kone_mouse_events { | |||
166 | /* osd events are thought to be display on screen */ | 166 | /* osd events are thought to be display on screen */ |
167 | kone_mouse_event_osd_dpi = 0xa0, | 167 | kone_mouse_event_osd_dpi = 0xa0, |
168 | kone_mouse_event_osd_profile = 0xb0, | 168 | kone_mouse_event_osd_profile = 0xb0, |
169 | /* TODO clarify meaning and occurence of kone_mouse_event_calibration */ | 169 | /* TODO clarify meaning and occurrence of kone_mouse_event_calibration */ |
170 | kone_mouse_event_calibration = 0xc0, | 170 | kone_mouse_event_calibration = 0xc0, |
171 | kone_mouse_event_call_overlong_macro = 0xe0, | 171 | kone_mouse_event_call_overlong_macro = 0xe0, |
172 | /* switch events notify if user changed values with mousebutton click */ | 172 | /* switch events notify if user changed values with mousebutton click */ |
diff --git a/drivers/hid/hid-roccat-pyra.c b/drivers/hid/hid-roccat-pyra.c index 160f481344f6..38280c055a19 100644 --- a/drivers/hid/hid-roccat-pyra.c +++ b/drivers/hid/hid-roccat-pyra.c | |||
@@ -652,7 +652,8 @@ static int pyra_raw_event(struct hid_device *hdev, struct hid_report *report, | |||
652 | static const struct hid_device_id pyra_devices[] = { | 652 | static const struct hid_device_id pyra_devices[] = { |
653 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, | 653 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, |
654 | USB_DEVICE_ID_ROCCAT_PYRA_WIRED) }, | 654 | USB_DEVICE_ID_ROCCAT_PYRA_WIRED) }, |
655 | /* TODO add USB_DEVICE_ID_ROCCAT_PYRA_WIRELESS after testing */ | 655 | { HID_USB_DEVICE(USB_VENDOR_ID_ROCCAT, |
656 | USB_DEVICE_ID_ROCCAT_PYRA_WIRELESS) }, | ||
656 | { } | 657 | { } |
657 | }; | 658 | }; |
658 | 659 | ||
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 9a94b643ccde..a8426f15e9ab 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
@@ -59,6 +59,7 @@ static const struct hid_blacklist { | |||
59 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, | 59 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, |
60 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE, HID_QUIRK_NOGET }, | 60 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE, HID_QUIRK_NOGET }, |
61 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, | 61 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, |
62 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_THROTTLE, HID_QUIRK_NOGET }, | ||
62 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, | 63 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, |
63 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, | 64 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, |
64 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, | 65 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET }, |