Skip to content

Commit 993ca20

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input fixes from Dmitry Torokhov: "The main item is that we try to better handle the newer trackpoints on Lenovo devices that are now being produced by Elan/ALPS/NXP and only implement a small subset of the original IBM trackpoint controls" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Revert "Input: synaptics_rmi4 - use devm_device_add_group() for attributes in F01" Input: trackpoint - only expose supported controls for Elan, ALPS and NXP Input: trackpoint - force 3 buttons if 0 button is reported Input: xpad - add support for PDP Xbox One controllers Input: stmfts,s6sy671 - add SPDX identifier
2 parents 6793f1c + 060403f commit 993ca20

File tree

6 files changed

+210
-130
lines changed

6 files changed

+210
-130
lines changed

drivers/input/joystick/xpad.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ static const struct xpad_device {
229229
{ 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
230230
{ 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
231231
{ 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE },
232+
{ 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE },
232233
{ 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 },
233234
{ 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE },
234235
{ 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 },
@@ -475,6 +476,22 @@ static const u8 xboxone_hori_init[] = {
475476
0x00, 0x00, 0x00, 0x80, 0x00
476477
};
477478

479+
/*
480+
* This packet is required for some of the PDP pads to start
481+
* sending input reports. One of those pads is (0x0e6f:0x02ab).
482+
*/
483+
static const u8 xboxone_pdp_init1[] = {
484+
0x0a, 0x20, 0x00, 0x03, 0x00, 0x01, 0x14
485+
};
486+
487+
/*
488+
* This packet is required for some of the PDP pads to start
489+
* sending input reports. One of those pads is (0x0e6f:0x02ab).
490+
*/
491+
static const u8 xboxone_pdp_init2[] = {
492+
0x06, 0x20, 0x00, 0x02, 0x01, 0x00
493+
};
494+
478495
/*
479496
* A specific rumble packet is required for some PowerA pads to start
480497
* sending input reports. One of those pads is (0x24c6:0x543a).
@@ -505,6 +522,8 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
505522
XBOXONE_INIT_PKT(0x0e6f, 0x0165, xboxone_hori_init),
506523
XBOXONE_INIT_PKT(0x0f0d, 0x0067, xboxone_hori_init),
507524
XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_fw2015_init),
525+
XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init1),
526+
XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init2),
508527
XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init),
509528
XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init),
510529
XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),

0 commit comments

Comments
 (0)