diff options
author | Peter Stein <peter@stuntstein.dk> | 2017-02-17 03:00:50 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2017-03-24 10:43:03 -0400 |
commit | 9257821c5a1dc57ef3a37f7cbcebaf548395c964 (patch) | |
tree | ff8c3d541a1ff6f4dc0e30ac540a14534ee4f8e7 | |
parent | 6e5364f5f472d4ea66d37459e299071b0190362c (diff) |
HID: xinmo: fix for out of range for THT 2P arcade controller.
There is a new clone of the XIN MO arcade controller which has same issue with
out of range like the original. This fix will solve the issue where 2
directions on the joystick are not recognized by the new THT 2P arcade
controller with device ID 0x75e1. In details the new device ID is added the
hid-id list and the hid-xinmo source code.
Signed-off-by: Peter Stein <peter@stuntstein.dk>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hid-core.c | 1 | ||||
-rw-r--r-- | drivers/hid/hid-ids.h | 1 | ||||
-rw-r--r-- | drivers/hid/hid-xinmo.c | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 3ceb4a2af381..63ec1993eaaa 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c | |||
@@ -2112,6 +2112,7 @@ static const struct hid_device_id hid_have_special_driver[] = { | |||
2112 | { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SIRIUS_BATTERY_FREE_TABLET) }, | 2112 | { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SIRIUS_BATTERY_FREE_TABLET) }, |
2113 | { HID_USB_DEVICE(USB_VENDOR_ID_X_TENSIONS, USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE) }, | 2113 | { HID_USB_DEVICE(USB_VENDOR_ID_X_TENSIONS, USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE) }, |
2114 | { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE) }, | 2114 | { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE) }, |
2115 | { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_THT_2P_ARCADE) }, | ||
2115 | { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0005) }, | 2116 | { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0005) }, |
2116 | { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0030) }, | 2117 | { HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0030) }, |
2117 | { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) }, | 2118 | { HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) }, |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 0e2e7c571d22..4e2648c86c8c 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
@@ -1082,6 +1082,7 @@ | |||
1082 | 1082 | ||
1083 | #define USB_VENDOR_ID_XIN_MO 0x16c0 | 1083 | #define USB_VENDOR_ID_XIN_MO 0x16c0 |
1084 | #define USB_DEVICE_ID_XIN_MO_DUAL_ARCADE 0x05e1 | 1084 | #define USB_DEVICE_ID_XIN_MO_DUAL_ARCADE 0x05e1 |
1085 | #define USB_DEVICE_ID_THT_2P_ARCADE 0x75e1 | ||
1085 | 1086 | ||
1086 | #define USB_VENDOR_ID_XIROKU 0x1477 | 1087 | #define USB_VENDOR_ID_XIROKU 0x1477 |
1087 | #define USB_DEVICE_ID_XIROKU_SPX 0x1006 | 1088 | #define USB_DEVICE_ID_XIROKU_SPX 0x1006 |
diff --git a/drivers/hid/hid-xinmo.c b/drivers/hid/hid-xinmo.c index 7df5227a7e61..9ad7731d2e10 100644 --- a/drivers/hid/hid-xinmo.c +++ b/drivers/hid/hid-xinmo.c | |||
@@ -46,6 +46,7 @@ static int xinmo_event(struct hid_device *hdev, struct hid_field *field, | |||
46 | 46 | ||
47 | static const struct hid_device_id xinmo_devices[] = { | 47 | static const struct hid_device_id xinmo_devices[] = { |
48 | { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE) }, | 48 | { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE) }, |
49 | { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_THT_2P_ARCADE) }, | ||
49 | { } | 50 | { } |
50 | }; | 51 | }; |
51 | 52 | ||