]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Revert "INPUT: xpad: switch Logitech G920 Wheel into HID mode"
authorJiri Kosina <jkosina@suse.cz>
Wed, 13 Jan 2016 08:43:46 +0000 (09:43 +0100)
committerJiri Kosina <jkosina@suse.cz>
Wed, 13 Jan 2016 08:43:46 +0000 (09:43 +0100)
This reverts commit 27b9d5a254dcbc6095404c1bab7c335419601eb8.

I am reverting this one, while keeping the rest of the G920 support in,
so that it immediately starts working once proper HID-mode switching
is implemented.

Quoting Dmitry Torokhov for rationale:

==
It is wrong. Aside form the fact that IMO xpad.c is the wrong place for
this code to be in, why are we waiting for the input device to be
opened by userspace before we do the switch instead of doing it
immediately?
==

Several people (Simon Wood and Michal Maly) expressed the intent to work
on proper HID switching in a short term.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/input/joystick/xpad.c

index 338a3a4f8996a5bbeccf55340a9052ddcbd8dae9..fd4100d56d8c5509986be23e40d2af137cd840b1 100644 (file)
@@ -93,7 +93,6 @@
 #define MAP_STICKS_TO_NULL             (1 << 2)
 #define DANCEPAD_MAP_CONFIG    (MAP_DPAD_TO_BUTTONS |                  \
                                MAP_TRIGGERS_TO_BUTTONS | MAP_STICKS_TO_NULL)
-#define SWITCH_G920_TO_HID_MODE                (1 << 3)
 
 #define XTYPE_XBOX        0
 #define XTYPE_XBOX360     1
@@ -135,7 +134,6 @@ static const struct xpad_device {
        { 0x046d, 0xc21e, "Logitech Gamepad F510", 0, XTYPE_XBOX360 },
        { 0x046d, 0xc21f, "Logitech Gamepad F710", 0, XTYPE_XBOX360 },
        { 0x046d, 0xc242, "Logitech Chillstream Controller", 0, XTYPE_XBOX360 },
-       { 0x046d, 0xc261, "Logitech G920 Driving Force Racing Wheel", SWITCH_G920_TO_HID_MODE, XTYPE_XBOXONE },
        { 0x046d, 0xca84, "Logitech Xbox Cordless Controller", 0, XTYPE_XBOX },
        { 0x046d, 0xca88, "Logitech Compact Controller for Xbox", 0, XTYPE_XBOX },
        { 0x05fd, 0x1007, "Mad Catz Controller (unverified)", 0, XTYPE_XBOX },
@@ -301,7 +299,6 @@ static struct usb_device_id xpad_table[] = {
        XPAD_XBOX360_VENDOR(0x045e),            /* Microsoft X-Box 360 controllers */
        XPAD_XBOXONE_VENDOR(0x045e),            /* Microsoft X-Box One controllers */
        XPAD_XBOX360_VENDOR(0x046d),            /* Logitech X-Box 360 style controllers */
-       XPAD_XBOXONE_VENDOR(0x046d),            /* Logitech X-Box One style controllers */
        XPAD_XBOX360_VENDOR(0x0738),            /* Mad Catz X-Box 360 controllers */
        { USB_DEVICE(0x0738, 0x4540) },         /* Mad Catz Beat Pad */
        XPAD_XBOX360_VENDOR(0x0e6f),            /* 0x0e6f X-Box 360 controllers */
@@ -1051,19 +1048,6 @@ static int xpad_open(struct input_dev *dev)
        if (usb_submit_urb(xpad->irq_in, GFP_KERNEL))
                return -EIO;
 
-       /* Logitect G920 wheel starts in XBOX mode, but is reconfigured to be HID  */
-       /* device with USBID of 046D:C262. Wheel will detach when 'magic' is sent. */
-       if (xpad->mapping & SWITCH_G920_TO_HID_MODE) {
-               xpad->odata[0] = 0x0F;
-               xpad->odata[1] = 0x00;
-               xpad->odata[2] = 0x01;
-               xpad->odata[3] = 0x01;
-               xpad->odata[4] = 0x42;
-               xpad->irq_out->transfer_buffer_length = 5;
-
-               return usb_submit_urb(xpad->irq_out, GFP_KERNEL);
-       }
-
        if (xpad->xtype == XTYPE_XBOXONE) {
                /* Xbox one controller needs to be initialized. */
                xpad->odata[0] = 0x05;