| From a6754fae1e66e9a40fed406290d7ca3f2b4d227c Mon Sep 17 00:00:00 2001 |
| From: Cameron Gutman <aicommander@gmail.com> |
| Date: Thu, 29 Nov 2018 10:09:33 -0800 |
| Subject: Input: xpad - quirk all PDP Xbox One gamepads |
| |
| From: Cameron Gutman <aicommander@gmail.com> |
| |
| commit a6754fae1e66e9a40fed406290d7ca3f2b4d227c upstream. |
| |
| Since we continue to find tons of new variants [0,1,2,3,4,5,6] that |
| need the PDP quirk, let's just quirk all devices from PDP. |
| |
| [0]: https://github.com/paroj/xpad/pull/104 |
| [1]: https://github.com/paroj/xpad/pull/105 |
| [2]: https://github.com/paroj/xpad/pull/108 |
| [3]: https://github.com/paroj/xpad/pull/109 |
| [4]: https://github.com/paroj/xpad/pull/112 |
| [5]: https://github.com/paroj/xpad/pull/115 |
| [6]: https://github.com/paroj/xpad/pull/116 |
| |
| Fixes: e5c9c6a885fa ("Input: xpad - add support for PDP Xbox One controllers") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Cameron Gutman <aicommander@gmail.com> |
| Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/input/joystick/xpad.c | 16 ++++++---------- |
| 1 file changed, 6 insertions(+), 10 deletions(-) |
| |
| --- a/drivers/input/joystick/xpad.c |
| +++ b/drivers/input/joystick/xpad.c |
| @@ -483,18 +483,18 @@ static const u8 xboxone_hori_init[] = { |
| }; |
| |
| /* |
| - * This packet is required for some of the PDP pads to start |
| + * This packet is required for most (all?) of the PDP pads to start |
| * sending input reports. These pads include: (0x0e6f:0x02ab), |
| - * (0x0e6f:0x02a4). |
| + * (0x0e6f:0x02a4), (0x0e6f:0x02a6). |
| */ |
| static const u8 xboxone_pdp_init1[] = { |
| 0x0a, 0x20, 0x00, 0x03, 0x00, 0x01, 0x14 |
| }; |
| |
| /* |
| - * This packet is required for some of the PDP pads to start |
| + * This packet is required for most (all?) of the PDP pads to start |
| * sending input reports. These pads include: (0x0e6f:0x02ab), |
| - * (0x0e6f:0x02a4). |
| + * (0x0e6f:0x02a4), (0x0e6f:0x02a6). |
| */ |
| static const u8 xboxone_pdp_init2[] = { |
| 0x06, 0x20, 0x00, 0x02, 0x01, 0x00 |
| @@ -530,12 +530,8 @@ static const struct xboxone_init_packet |
| XBOXONE_INIT_PKT(0x0e6f, 0x0165, xboxone_hori_init), |
| XBOXONE_INIT_PKT(0x0f0d, 0x0067, xboxone_hori_init), |
| XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_fw2015_init), |
| - XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init1), |
| - XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init2), |
| - XBOXONE_INIT_PKT(0x0e6f, 0x02a4, xboxone_pdp_init1), |
| - XBOXONE_INIT_PKT(0x0e6f, 0x02a4, xboxone_pdp_init2), |
| - XBOXONE_INIT_PKT(0x0e6f, 0x02a6, xboxone_pdp_init1), |
| - XBOXONE_INIT_PKT(0x0e6f, 0x02a6, xboxone_pdp_init2), |
| + XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_init1), |
| + XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_init2), |
| XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init), |
| XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init), |
| XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init), |