aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Hasler <mahasler@gmail.com>2016-11-03 14:47:26 -0400
committerJiri Kosina <jkosina@suse.cz>2016-11-03 16:51:28 -0400
commitb2554000f5b5d2a3a368d09c6debf7da64901fcf (patch)
tree0f76138259458b235c458a0c2f3eece8d5a990c7
parent8a1e377e55f2dca5c689926313beeaa8ac2adb22 (diff)
HID: usbhid: Add quirks for Mayflash/Dragonrise GameCube and PS3 adapters
All known gamepad adapters by Mayflash (identified as Dragonrise) need HID_QUIRK_MULTI_INPUT to split them up into four input devices. Without this quirk those adapters are falsely recognized as tablets. Fixes bug 115841 (https://bugzilla.kernel.org/show_bug.cgi?id=115841). Signed-off-by: Marcel Hasler <mahasler@gmail.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-ids.h6
-rw-r--r--drivers/hid/usbhid/hid-quirks.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 6cfb5cacc253..642e64861654 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -314,8 +314,10 @@
314#define USB_VENDOR_ID_DMI 0x0c0b 314#define USB_VENDOR_ID_DMI 0x0c0b
315#define USB_DEVICE_ID_DMI_ENC 0x5fab 315#define USB_DEVICE_ID_DMI_ENC 0x5fab
316 316
317#define USB_VENDOR_ID_DRAGONRISE 0x0079 317#define USB_VENDOR_ID_DRAGONRISE 0x0079
318#define USB_DEVICE_ID_DRAGONRISE_WIIU 0x1800 318#define USB_DEVICE_ID_DRAGONRISE_WIIU 0x1800
319#define USB_DEVICE_ID_DRAGONRISE_PS3 0x1801
320#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE 0x1843
319 321
320#define USB_VENDOR_ID_DWAV 0x0eef 322#define USB_VENDOR_ID_DWAV 0x0eef
321#define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001 323#define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 354d49ea36dd..05f6f61f0213 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -81,6 +81,8 @@ static const struct hid_blacklist {
81 { USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51, HID_QUIRK_NOGET }, 81 { USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51, HID_QUIRK_NOGET },
82 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, 82 { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
83 { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, 83 { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT },
84 { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3, HID_QUIRK_MULTI_INPUT },
85 { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT },
84 { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, 86 { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL },
85 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, 87 { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
86 { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, 88 { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },