diff options
author | Marcel Hasler <mahasler@gmail.com> | 2017-04-04 15:32:03 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-04-12 06:41:15 -0400 |
commit | d640c41bced65d82592e4d01a61715d78dede2ae (patch) | |
tree | 6f9efa098127c6f00cae5723aeaeb21e67d214d5 | |
parent | e02a5d1d5a053374dffe9ed6300113a125121f29 (diff) |
HID: usbhid: Add quirks for Mayflash/Dragonrise GameCube and PS3 adapters
[ Upstream commit b2554000f5b5d2a3a368d09c6debf7da64901fcf ]
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>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/hid/hid-ids.h | 6 | ||||
-rw-r--r-- | drivers/hid/usbhid/hid-quirks.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 9845189fae92..e95495cd0e82 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
@@ -318,8 +318,10 @@ | |||
318 | #define USB_VENDOR_ID_DMI 0x0c0b | 318 | #define USB_VENDOR_ID_DMI 0x0c0b |
319 | #define USB_DEVICE_ID_DMI_ENC 0x5fab | 319 | #define USB_DEVICE_ID_DMI_ENC 0x5fab |
320 | 320 | ||
321 | #define USB_VENDOR_ID_DRAGONRISE 0x0079 | 321 | #define USB_VENDOR_ID_DRAGONRISE 0x0079 |
322 | #define USB_DEVICE_ID_DRAGONRISE_WIIU 0x1800 | 322 | #define USB_DEVICE_ID_DRAGONRISE_WIIU 0x1800 |
323 | #define USB_DEVICE_ID_DRAGONRISE_PS3 0x1801 | ||
324 | #define USB_DEVICE_ID_DRAGONRISE_GAMECUBE 0x1843 | ||
323 | 325 | ||
324 | #define USB_VENDOR_ID_DWAV 0x0eef | 326 | #define USB_VENDOR_ID_DWAV 0x0eef |
325 | #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001 | 327 | #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001 |
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index cde060fefa91..65f688c9c7b5 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
@@ -83,6 +83,8 @@ static const struct hid_blacklist { | |||
83 | { USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51, HID_QUIRK_NOGET }, | 83 | { USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51, HID_QUIRK_NOGET }, |
84 | { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, | 84 | { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET }, |
85 | { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, | 85 | { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT }, |
86 | { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3, HID_QUIRK_MULTI_INPUT }, | ||
87 | { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT }, | ||
86 | { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, | 88 | { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL }, |
87 | { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, | 89 | { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET }, |
88 | { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, | 90 | { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS }, |