Patch "Input: xpad - add support for PDP Xbox One controllers" has been added to the 4.14-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
Input: xpad - add support for PDP Xbox One controllers
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
input-xpad-add-support-for-pdp-xbox-one-controllers.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
e5c9c6a885fad00aa559b49d8fc23a60e290824eMon Sep 17 00:00:00 2001
From: Mark Furneaux <[email protected]>
Date: Mon, 22 Jan 2018 11:24:17 -0800
Subject: Input: xpad - add support for PDP Xbox One controllers
From: Mark Furneaux <[email protected]>
commit e5c9c6a885fad00aa559b49d8fc23a60e290824e upstream.
Adds support for the current lineup of Xbox One controllers from PDP (Performance Designed Products). These controllers are very picky with their initialization sequence and require an additional 2 packets before they send any input reports.
--- drivers/input/joystick/xpad.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
drivers/input/joystick/xpad.c +19 -0
@@ -229,6 +229,7 @@ static const struct xpad_device { { 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, { 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, { 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE }, + { 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE }, { 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 }, { 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE }, { 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 },
@@ -476,6 +477,22 @@ static const u8 xboxone_hori_init[] = { };/* +* This packet is required for some of the PDP pads to start +* sending input reports. One of those pads is (0x0e6f:0x02ab). +*/ +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 +* sending input reports. One of those pads is (0x0e6f:0x02ab). +*/ +static const u8 xboxone_pdp_init2[] = { +0x06 ,0x20 ,0x00 ,0x02 ,0x01 ,0x00 +}; + +/* * A specific rumble packet is required for some PowerA pads to start * sending input reports. One of those pads is (0x24c6:0x543a). */
@@ -505,6 +522,8 @@ static const struct xboxone_init_packetXBOXONE_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 (0x24c6 ,0x541a , xboxone_rumblebegin_init),XBOXONE_INIT_PKT (0x24c6 ,0x542a , xboxone_rumblebegin_init), XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/input-xpad-add-support-for-pdp-xbox-one-controllers.patch