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 b7ec4057841..9de9e97149e 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 61aa7123339..b85744fe846 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 c3d66269ed7..408c4bea4d8 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 555382fc741..bae48745bb4 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 d485894ff4d..00a94b535d2 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 cd74203c817..33dde8724e0 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 90d0ef2c92b..f099079ca6b 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 318cc40df92..0ec91c18a42 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 f9b7dd4f607..0ffa1d2d64f 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 6f0642ea100..9d8710f8bc7 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 64abb5b8a59..4109a028e13 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 160f481344f..38280c055a1 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 9a94b643ccd..a8426f15e9a 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 }, |
