Skip to contentSkip to conversation

Support more Mayflash game contoller adapters.

PATCH Applied Marcel Hasler 3 participants 5 messages Jan 7, 2017 – Jan 11, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover Support more Mayflash game contoller adapters.

This patchset improves support for the Mayflash DolphinBar and GameCube adapters. These have been tested by Robert de Rooy and confirmed to work correctly using the following patches. See Bugzilla entry 115841 (https://bugzilla.kernel.org/show_bug.cgi?id=115841) for more information.

Marcel Hasler (2):
hid: Add a new device ID for updated Mayflash/Dragonrise GameCube adapter.
hid-mf: Add force feedback support for Mayflash DolphinBar and GameCube adapters.

 drivers/hid/hid-core.c          |  3 +++
 drivers/hid/hid-ids.h           |  3 ++-
 drivers/hid/hid-mf.c            | 19 ++++++++++++++-----
 drivers/hid/usbhid/hid-quirks.c |  2 +-
 4 files changed, 20 insertions(+), 7 deletions(-)
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/2 hid: Add a new device ID for updated Mayflash/Dragonrise GameCube adapter.

The Mayflash GameCube adapter has received a firmware update which, among other things, changes the device's PID. It also fixes enumeration, therefore the updated firmware no longer requires HID_QUIRK_MULTI_INPUT.

---
 drivers/hid/hid-ids.h           | 3 ++-
 drivers/hid/usbhid/hid-quirks.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/hid/hid-ids.h +2 -1
index 54bd22dc1411..23cb33c36663 100644
@@ -320,7 +320,8 @@
 #define USB_DEVICE_ID_DRAGONRISE_WIIU		0x1800
 #define USB_DEVICE_ID_DRAGONRISE_PS3		0x1801
 #define USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR	0x1803
-#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE	0x1843
+#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE1	0x1843
+#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE2	0x1844
 
 #define USB_VENDOR_ID_DWAV		0x0eef
 #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER	0x0001
drivers/hid/usbhid/hid-quirks.c +1 -1
index e9d6cc7cdfc5..54b641efd939 100644
@@ -84,7 +84,7 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR, HID_QUIRK_MULTI_INPUT },
-	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT },
+	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL },
 	{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
Signature · 1 line
2.11.0
#2 lore raw

PATCH 2/2 hid-mf: Add force feedback support for Mayflash DolphinBar and GameCube adapters.

In reply to Marcel Hasler

The Mayflash DolphinBar and GameCube adapters have been tested and confirmed to work using the hid-mf driver.

---
 drivers/hid/hid-core.c |  3 +++
 drivers/hid/hid-mf.c   | 19 ++++++++++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)
drivers/hid/hid-core.c +3 -0
index cff060b56da9..54e98ff7090d 100644
@@ -1887,6 +1887,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, 0x0011) },
 #if IS_ENABLED(CONFIG_HID_MAYFLASH)
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE2) },
 #endif
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, USB_DEVICE_ID_DREAM_CHEEKY_WN) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_DREAM_CHEEKY, USB_DEVICE_ID_DREAM_CHEEKY_FA) },
drivers/hid/hid-mf.c +14 -5
index d9090765a6e5..03f10516131d 100644
@@ -6,12 +6,14 @@
  *
  * Tested with:
  * 0079:1801 "DragonRise Inc. Mayflash PS3 Game Controller Adapter"
+ * 0079:1803 "DragonRise Inc. Mayflash Wireless Sensor DolphinBar"
+ * 0079:1843 "DragonRise Inc. Mayflash GameCube Game Controller Adapter"
+ * 0079:1844 "DragonRise Inc. Mayflash GameCube Game Controller Adapter (v04)"
  *
  * The following adapters probably work too, but need to be tested:
  * 0079:1800 "DragonRise Inc. Mayflash WIIU Game Controller Adapter"
- * 0079:1843 "DragonRise Inc. Mayflash GameCube Game Controller Adapter"
  *
- * Copyright (c) 2016 Marcel Hasler <[email protected]>
+ * Copyright (c) 2016-2017 Marcel Hasler <[email protected]>
  */
 
 /*
@@ -125,8 +127,8 @@ static int mf_probe(struct hid_device *hid, const struct hid_device_id *id)
 
 	dev_dbg(&hid->dev, "Mayflash HID hardware probe...\n");
 
-	/* Split device into four inputs */
-	hid->quirks |= HID_QUIRK_MULTI_INPUT;
+	/* Apply quirks as needed */
+	hid->quirks |= id->driver_data;
 
 	error = hid_parse(hid);
 	if (error) {
@@ -151,7 +153,14 @@ static int mf_probe(struct hid_device *hid, const struct hid_device_id *id)
 }
 
 static const struct hid_device_id mf_devices[] = {
-	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3),  },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3),
+		.driver_data = HID_QUIRK_MULTI_INPUT },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR),
+		.driver_data = HID_QUIRK_MULTI_INPUT },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1),
+		.driver_data = HID_QUIRK_MULTI_INPUT },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE2),
+		.driver_data = 0 }, /* No quirk required */
 	{ }
 };
 MODULE_DEVICE_TABLE(hid, mf_devices);
Signature · 1 line
2.11.0
Reviewed-by on the v1 series
#3 lore raw
In reply to Marcel Hasler
Quoted 5 lines · Marcel Hasler

This patchset improves support for the Mayflash DolphinBar and GameCube adapters. These have been tested by Robert de Rooy and confirmed to work correctly using the following patches. See Bugzilla entry 115841 (https://bugzilla.kernel.org/show_bug.cgi?id=115841) for more information.

Marcel Hasler (2):
hid: Add a new device ID for updated Mayflash/Dragonrise GameCube adapter.
hid-mf: Add force feedback support for Mayflash DolphinBar and GameCube adapters.

The series looks good to me:

Quoted 10 lines
 drivers/hid/hid-core.c          |  3 +++
 drivers/hid/hid-ids.h           |  3 ++-
 drivers/hid/hid-mf.c            | 19 ++++++++++++++-----
 drivers/hid/usbhid/hid-quirks.c |  2 +-
 4 files changed, 20 insertions(+), 7 deletions(-)
Signature · 1 line
2.11.0
maintainer Applied
#4 lore raw
In reply to Marcel Hasler
Quoted 11 lines · Marcel Hasler

This patchset improves support for the Mayflash DolphinBar and GameCube adapters. These have been tested by Robert de Rooy and confirmed to work correctly using the following patches. See Bugzilla entry 115841 (https://bugzilla.kernel.org/show_bug.cgi?id=115841) for more information.

Marcel Hasler (2):
hid: Add a new device ID for updated Mayflash/Dragonrise GameCube adapter.
hid-mf: Add force feedback support for Mayflash DolphinBar and GameCube adapters.

 drivers/hid/hid-core.c          |  3 +++
 drivers/hid/hid-ids.h           |  3 ++-
 drivers/hid/hid-mf.c            | 19 ++++++++++++++-----
 drivers/hid/usbhid/hid-quirks.c |  2 +-
 4 files changed, 20 insertions(+), 7 deletions(-)

Applied to for-4.11/mayflash, thanks.

Signature · 2 lines
Jiri Kosina
SUSE Labs