aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/usbhid/hid-quirks.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2008-06-24 17:46:21 -0400
committerJiri Kosina <jkosina@suse.cz>2008-10-14 17:50:53 -0400
commit1e76253220dbe66e048e55680266dd1f4af0be85 (patch)
treee3b1a340de062603b0e5d1e65e5e37a58973f7c3 /drivers/hid/usbhid/hid-quirks.c
parentb5635b129b3ca3a9c879a36f58f5b8c4903d267a (diff)
HID: move petalynx quirks
Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/usbhid/hid-quirks.c')
-rw-r--r--drivers/hid/usbhid/hid-quirks.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index c344ec2fad5d..3f977abb62b1 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -57,7 +57,6 @@ static const struct hid_blacklist {
57 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, 57 { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET },
58 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, 58 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
59 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, 59 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
60 { USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE, HID_QUIRK_NOGET },
61 { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET }, 60 { USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET },
62 { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET }, 61 { USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
63 { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS }, 62 { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS },
@@ -78,8 +77,6 @@ static const struct hid_rdesc_blacklist {
78} hid_rdesc_blacklist[] = { 77} hid_rdesc_blacklist[] = {
79 { USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E, HID_QUIRK_RDESC_BUTTON_CONSUMER }, 78 { USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E, HID_QUIRK_RDESC_BUTTON_CONSUMER },
80 79
81 { USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE, HID_QUIRK_RDESC_PETALYNX },
82
83 { USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE, HID_QUIRK_RDESC_SAMSUNG_REMOTE }, 80 { USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE, HID_QUIRK_RDESC_SAMSUNG_REMOTE },
84 81
85 { 0, 0 } 82 { 0, 0 }
@@ -340,21 +337,6 @@ static void usbhid_fixup_samsung_irda_descriptor(unsigned char *rdesc,
340 } 337 }
341} 338}
342 339
343/* Petalynx Maxter Remote has maximum for consumer page set too low */
344static void usbhid_fixup_petalynx_descriptor(unsigned char *rdesc, int rsize)
345{
346 if (rsize >= 60 && rdesc[39] == 0x2a
347 && rdesc[40] == 0xf5
348 && rdesc[41] == 0x00
349 && rdesc[59] == 0x26
350 && rdesc[60] == 0xf9
351 && rdesc[61] == 0x00) {
352 printk(KERN_INFO "Fixing up Petalynx Maxter Remote report descriptor\n");
353 rdesc[60] = 0xfa;
354 rdesc[40] = 0xfa;
355 }
356}
357
358static void usbhid_fixup_button_consumer_descriptor(unsigned char *rdesc, int rsize) 340static void usbhid_fixup_button_consumer_descriptor(unsigned char *rdesc, int rsize)
359{ 341{
360 if (rsize >= 30 && rdesc[29] == 0x05 342 if (rsize >= 30 && rdesc[29] == 0x05
@@ -366,9 +348,6 @@ static void usbhid_fixup_button_consumer_descriptor(unsigned char *rdesc, int rs
366 348
367static void __usbhid_fixup_report_descriptor(__u32 quirks, char *rdesc, unsigned rsize) 349static void __usbhid_fixup_report_descriptor(__u32 quirks, char *rdesc, unsigned rsize)
368{ 350{
369 if (quirks & HID_QUIRK_RDESC_PETALYNX)
370 usbhid_fixup_petalynx_descriptor(rdesc, rsize);
371
372 if (quirks & HID_QUIRK_RDESC_BUTTON_CONSUMER) 351 if (quirks & HID_QUIRK_RDESC_BUTTON_CONSUMER)
373 usbhid_fixup_button_consumer_descriptor(rdesc, rsize); 352 usbhid_fixup_button_consumer_descriptor(rdesc, rsize);
374 353