* [PATCH 0/2] G923 Racing Wheel support
@ 2021-05-27 13:41 Erica Taylor
2021-05-27 13:41 ` [PATCH 1/2] HID: logitech-hidpp: add G923 Erica Taylor
2021-05-27 13:41 ` [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant Erica Taylor
0 siblings, 2 replies; 8+ messages in thread
From: Erica Taylor @ 2021-05-27 13:41 UTC (permalink / raw)
To: linux-input
Cc: Erica Taylor, Jiri Kosina, Benjamin Tissoires, Dmitry Torokhov,
Lee Jones, Benjamin Valentin, Matt Reynolds,
Andrzej Pietrasiewicz, Sanjay Govind, linux-kernel, Simon Wood,
Greg Kroah-Hartman
These two patches add the G923 to the two drivers which support it:
xpad & hid-logitech-hidpp.
The device boots up in Xbox-mode (which has some support out
of the box if added to the xpad device list). However, Logitech
use the HID++ protocol for 'PC mode'.
I've added code to xpad to perform the switch-over
and device information to the hid-logitech-hidpp driver.
With the hid-logitech-hidpp driver the wheel seems to have pretty
good support. As far as I can tell, all inputs & force feedback
work.
Erica Taylor (2):
HID: logitech-hidpp: add G923
Input: xpad - add Logitech G923 Xbox variant
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-logitech-hidpp.c | 3 +++
drivers/input/joystick/xpad.c | 30 ++++++++++++++++++++++++++++++
3 files changed, 34 insertions(+)
--
2.31.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] HID: logitech-hidpp: add G923
2021-05-27 13:41 [PATCH 0/2] G923 Racing Wheel support Erica Taylor
@ 2021-05-27 13:41 ` Erica Taylor
2021-05-27 13:41 ` [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant Erica Taylor
1 sibling, 0 replies; 8+ messages in thread
From: Erica Taylor @ 2021-05-27 13:41 UTC (permalink / raw)
To: linux-input
Cc: Erica Taylor, Jiri Kosina, Benjamin Tissoires, Dmitry Torokhov,
Lee Jones, Benjamin Valentin, Matt Reynolds,
Andrzej Pietrasiewicz, Sanjay Govind, linux-kernel, Simon Wood,
Greg Kroah-Hartman
This patch adds the Xbox variant of the Logitech G923 to the supported
devices.
NOTE: By default the G923 boots in 'Xbox mode' (compatible with the
xpad driver) but Logitech uses 'PC mode' when on Windows. PC mode
seems to support more features and works well with this driver.
This patch does not add code to load the device into PC mode. This code
can be exercised by using USB passthru with a VM, or manually issuing USB
commands.
There is a following patch which adds support for the protocol change to
the xpad driver.
Signed-off-by: Erica Taylor <rickytaylor26@gmail.com>
---
drivers/hid/hid-ids.h | 1 +
drivers/hid/hid-logitech-hidpp.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 84b8da3e7d09..41d7f1495727 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -789,6 +789,7 @@
#define USB_DEVICE_ID_LOGITECH_G510_USB_AUDIO 0xc22e
#define USB_DEVICE_ID_LOGITECH_G29_WHEEL 0xc24f
#define USB_DEVICE_ID_LOGITECH_G920_WHEEL 0xc262
+#define USB_DEVICE_ID_LOGITECH_G923_XBOX_WHEEL 0xc26e
#define USB_DEVICE_ID_LOGITECH_WINGMAN_F3D 0xc283
#define USB_DEVICE_ID_LOGITECH_FORCE3D_PRO 0xc286
#define USB_DEVICE_ID_LOGITECH_FLIGHT_SYSTEM_G940 0xc287
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index d598094dadd0..936dfea2ed27 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -4269,6 +4269,9 @@ static const struct hid_device_id hidpp_devices[] = {
{ /* Logitech G920 Wheel over USB */
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G920_WHEEL),
.driver_data = HIDPP_QUIRK_CLASS_G920 | HIDPP_QUIRK_FORCE_OUTPUT_REPORTS},
+ { /* Logitech G923 Wheel (Xbox version) over USB */
+ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_G923_XBOX_WHEEL),
+ .driver_data = HIDPP_QUIRK_CLASS_G920 | HIDPP_QUIRK_FORCE_OUTPUT_REPORTS },
{ /* Logitech G Pro Gaming Mouse over USB */
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC088) },
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant
2021-05-27 13:41 [PATCH 0/2] G923 Racing Wheel support Erica Taylor
2021-05-27 13:41 ` [PATCH 1/2] HID: logitech-hidpp: add G923 Erica Taylor
@ 2021-05-27 13:41 ` Erica Taylor
2021-05-27 14:21 ` Erica Taylor
` (2 more replies)
1 sibling, 3 replies; 8+ messages in thread
From: Erica Taylor @ 2021-05-27 13:41 UTC (permalink / raw)
To: linux-input
Cc: Erica Taylor, Jiri Kosina, Benjamin Tissoires, Dmitry Torokhov,
Lee Jones, Benjamin Valentin, Matt Reynolds,
Andrzej Pietrasiewicz, Sanjay Govind, linux-kernel, Simon Wood,
Greg Kroah-Hartman
This includes device information for the G923 as well as
code to perform a protocol change to HID++.
Many features do not work as-is with the xpad driver. Almost everything
apart from TrueForce works under the logitech-hidpp driver.
What works:
- Face buttons, D-pad, Xbox button, LB, RB, switch and menu
- Paddle shifters
- One pedal axis
What does not work:
- Force feedback
- TrueForce
- Shifter positions
- Dial and centre button
- +/- buttons
- Steering wheel rotation
- The other two pedal axes
Signed-off-by: Erica Taylor <rickytaylor26@gmail.com>
---
drivers/input/joystick/xpad.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index d69d7657ab12..930283433615 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -79,6 +79,7 @@
#define MAP_DPAD_TO_BUTTONS (1 << 0)
#define MAP_TRIGGERS_TO_BUTTONS (1 << 1)
#define MAP_STICKS_TO_NULL (1 << 2)
+#define HIDPP_CAPABLE BIT(3)
#define DANCEPAD_MAP_CONFIG (MAP_DPAD_TO_BUTTONS | \
MAP_TRIGGERS_TO_BUTTONS | MAP_STICKS_TO_NULL)
@@ -104,6 +105,10 @@ static bool auto_poweroff = true;
module_param(auto_poweroff, bool, S_IWUSR | S_IRUGO);
MODULE_PARM_DESC(auto_poweroff, "Power off wireless controllers on suspend");
+static bool switch_to_hidpp = true;
+module_param(switch_to_hidpp, bool, 0444);
+MODULE_PARM_DESC(switch_to_hidpp, "Switch appropriate devices over to the HID++ protocol");
+
static const struct xpad_device {
u16 idVendor;
u16 idProduct;
@@ -333,6 +338,8 @@ static const struct xpad_device {
{ 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 },
{ 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
{ 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
+ { 0x046d, 0xc262, "Logitech G920 Wheel (Xbox Mode)", HIDPP_CAPABLE, XTYPE_XBOXONE },
+ { 0x046d, 0xc26d, "Logitech G923 Wheel (Xbox Mode)", HIDPP_CAPABLE, XTYPE_XBOXONE },
{ 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
{ 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN }
};
@@ -420,6 +427,7 @@ static const 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(0x056e), /* Elecom JC-U3613M */
XPAD_XBOX360_VENDOR(0x06a3), /* Saitek P3600 */
XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */
@@ -558,6 +566,17 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumbleend_init),
};
+/*
+ * A magic packet sent to Logitech devices to tell them to change to the HID++
+ * protocol. This is preferred when in use on a PC.
+ *
+ * After receiving this packet, the device will disconnect and reappear with
+ * a different productId, which will be picked up by the Logitech HID++ driver.
+ */
+static const u8 switch_to_hidpp_cmd[] = {
+ 0x0f, 0x00, 0x01, 0x01, 0x42
+};
+
struct xpad_output_packet {
u8 data[XPAD_PKT_LEN];
u8 len;
@@ -998,6 +1017,14 @@ static bool xpad_prepare_next_init_packet(struct usb_xpad *xpad)
return true;
}
+ if (switch_to_hidpp && xpad->mapping & HIDPP_CAPABLE) {
+ dev_dbg(&xpad->intf->dev, "%s - switching to HID++", __func__);
+ memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
+ xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
+ xpad->odata[2] = xpad->odata_serial++;
+ return true;
+ }
+
return false;
}
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant
2021-05-27 13:41 ` [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant Erica Taylor
@ 2021-05-27 14:21 ` Erica Taylor
2021-05-27 14:54 ` kernel test robot
2021-05-27 18:22 ` kernel test robot
2 siblings, 0 replies; 8+ messages in thread
From: Erica Taylor @ 2021-05-27 14:21 UTC (permalink / raw)
To: linux-input
Cc: Erica Taylor, Jiri Kosina, Benjamin Tissoires, Dmitry Torokhov,
Lee Jones, Benjamin Valentin, Matt Reynolds,
Andrzej Pietrasiewicz, Sanjay Govind, linux-kernel, Simon Wood,
Greg Kroah-Hartman
It looks like I sent a stale patch in my first e-mail. I'm very sorry.
I've included the correct patch below:
This includes device information for the G923 as well as
code to perform a protocol change to HID++.
Many features do not work as-is with the xpad driver. Almost everything
apart from TrueForce works under the logitech-hidpp driver.
What works:
- Face buttons, D-pad, Xbox button, LB, RB, switch and menu
- Paddle shifters
- One pedal axis
What does not work:
- Force feedback
- TrueForce
- Shifter positions
- Dial and centre button
- +/- buttons
- Steering wheel rotation
- The other two pedal axes
Signed-off-by: Erica Taylor <rickytaylor26@gmail.com>
---
drivers/input/joystick/xpad.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index d69d7657ab12..a07fa92f1d6a 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -79,6 +79,7 @@
#define MAP_DPAD_TO_BUTTONS (1 << 0)
#define MAP_TRIGGERS_TO_BUTTONS (1 << 1)
#define MAP_STICKS_TO_NULL (1 << 2)
+#define HIDPP_CAPABLE BIT(3)
#define DANCEPAD_MAP_CONFIG (MAP_DPAD_TO_BUTTONS | \
MAP_TRIGGERS_TO_BUTTONS | MAP_STICKS_TO_NULL)
@@ -104,6 +105,10 @@ static bool auto_poweroff = true;
module_param(auto_poweroff, bool, S_IWUSR | S_IRUGO);
MODULE_PARM_DESC(auto_poweroff, "Power off wireless controllers on suspend");
+static bool switch_to_hidpp = true;
+module_param(switch_to_hidpp, bool, 0444);
+MODULE_PARM_DESC(switch_to_hidpp, "Switch appropriate devices over to the HID++ protocol");
+
static const struct xpad_device {
u16 idVendor;
u16 idProduct;
@@ -333,6 +338,7 @@ static const struct xpad_device {
{ 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 },
{ 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
{ 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
+ { 0x046d, 0xc26d, "Logitech G923 Wheel (Xbox Mode)", HIDPP_CAPABLE, XTYPE_XBOXONE },
{ 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
{ 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN }
};
@@ -420,6 +426,7 @@ static const 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(0x056e), /* Elecom JC-U3613M */
XPAD_XBOX360_VENDOR(0x06a3), /* Saitek P3600 */
XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */
@@ -558,6 +565,17 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumbleend_init),
};
+/*
+ * A magic packet sent to Logitech devices to tell them to change to the HID++
+ * protocol. This is preferred when in use on a PC.
+ *
+ * After receiving this packet, the device will disconnect and reappear with
+ * a different productId, which will be picked up by the Logitech HID++ driver.
+ */
+static const u8 switch_to_hidpp_cmd[] = {
+ 0x0f, 0x00, 0x01, 0x01, 0x42
+};
+
struct xpad_output_packet {
u8 data[XPAD_PKT_LEN];
u8 len;
@@ -998,6 +1016,14 @@ static bool xpad_prepare_next_init_packet(struct usb_xpad *xpad)
return true;
}
+ if (switch_to_hidpp && xpad->mapping & HIDPP_CAPABLE) {
+ dev_dbg(&xpad->intf->dev, "%s - switching to HID++", __func__);
+ memcpy(xpad->odata, switch_to_hidpp_cmd, ARRAY_SIZE(switch_to_hidpp_cmd));
+ xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(switch_to_hidpp_cmd);
+ xpad->odata[2] = xpad->odata_serial++;
+ return true;
+ }
+
return false;
}
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant
2021-05-27 13:41 ` [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant Erica Taylor
@ 2021-05-27 14:54 ` kernel test robot
2021-05-27 14:54 ` kernel test robot
2021-05-27 18:22 ` kernel test robot
2 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2021-05-27 14:54 UTC (permalink / raw)
To: Erica Taylor, linux-input
Cc: kbuild-all, Erica Taylor, Jiri Kosina, Benjamin Tissoires,
Dmitry Torokhov, Lee Jones, Benjamin Valentin, Matt Reynolds,
Andrzej Pietrasiewicz, Sanjay Govind
[-- Attachment #1: Type: text/plain, Size: 5955 bytes --]
Hi Erica,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on hid/for-next]
[also build test ERROR on input/next v5.13-rc3]
[cannot apply to jikos-hid/for-next next-20210527]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: alpha-randconfig-r023-20210526 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/ae500b9fb85860a6590531cecf51be335880aa67
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
git checkout ae500b9fb85860a6590531cecf51be335880aa67
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/input/joystick/xpad.c: In function 'xpad_prepare_next_init_packet':
>> drivers/input/joystick/xpad.c:1020:23: error: 'g923_hidpp_init' undeclared (first use in this function)
1020 | memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
| ^~~~~~~~~~~~~~~
drivers/input/joystick/xpad.c:1020:23: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/kernel.h:11,
from drivers/input/joystick/xpad.c:64:
>> include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
include/linux/compiler.h:240:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
240 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
| ^~~~~~~~~~~~~~~~~
include/linux/kernel.h:49:59: note: in expansion of macro '__must_be_array'
49 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~
drivers/input/joystick/xpad.c:1020:40: note: in expansion of macro 'ARRAY_SIZE'
1020 | memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
| ^~~~~~~~~~
>> include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
include/linux/compiler.h:240:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
240 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
| ^~~~~~~~~~~~~~~~~
include/linux/kernel.h:49:59: note: in expansion of macro '__must_be_array'
49 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~
drivers/input/joystick/xpad.c:1021:43: note: in expansion of macro 'ARRAY_SIZE'
1021 | xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
| ^~~~~~~~~~
At top level:
drivers/input/joystick/xpad.c:574:17: warning: 'switch_to_hidpp_cmd' defined but not used [-Wunused-const-variable=]
574 | static const u8 switch_to_hidpp_cmd[] = {
| ^~~~~~~~~~~~~~~~~~~
vim +/g923_hidpp_init +1020 drivers/input/joystick/xpad.c
988
989 /* Callers must hold xpad->odata_lock spinlock */
990 static bool xpad_prepare_next_init_packet(struct usb_xpad *xpad)
991 {
992 const struct xboxone_init_packet *init_packet;
993
994 if (xpad->xtype != XTYPE_XBOXONE)
995 return false;
996
997 /* Perform initialization sequence for Xbox One pads that require it */
998 while (xpad->init_seq < ARRAY_SIZE(xboxone_init_packets)) {
999 init_packet = &xboxone_init_packets[xpad->init_seq++];
1000
1001 if (init_packet->idVendor != 0 &&
1002 init_packet->idVendor != xpad->dev->id.vendor)
1003 continue;
1004
1005 if (init_packet->idProduct != 0 &&
1006 init_packet->idProduct != xpad->dev->id.product)
1007 continue;
1008
1009 /* This packet applies to our device, so prepare to send it */
1010 memcpy(xpad->odata, init_packet->data, init_packet->len);
1011 xpad->irq_out->transfer_buffer_length = init_packet->len;
1012
1013 /* Update packet with current sequence number */
1014 xpad->odata[2] = xpad->odata_serial++;
1015 return true;
1016 }
1017
1018 if (switch_to_hidpp && xpad->mapping & HIDPP_CAPABLE) {
1019 dev_dbg(&xpad->intf->dev, "%s - switching to HID++", __func__);
> 1020 memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
1021 xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
1022 xpad->odata[2] = xpad->odata_serial++;
1023 return true;
1024 }
1025
1026 return false;
1027 }
1028
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32000 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant
@ 2021-05-27 14:54 ` kernel test robot
0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2021-05-27 14:54 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 6073 bytes --]
Hi Erica,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on hid/for-next]
[also build test ERROR on input/next v5.13-rc3]
[cannot apply to jikos-hid/for-next next-20210527]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: alpha-randconfig-r023-20210526 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/ae500b9fb85860a6590531cecf51be335880aa67
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
git checkout ae500b9fb85860a6590531cecf51be335880aa67
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/input/joystick/xpad.c: In function 'xpad_prepare_next_init_packet':
>> drivers/input/joystick/xpad.c:1020:23: error: 'g923_hidpp_init' undeclared (first use in this function)
1020 | memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
| ^~~~~~~~~~~~~~~
drivers/input/joystick/xpad.c:1020:23: note: each undeclared identifier is reported only once for each function it appears in
In file included from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from include/linux/kernel.h:11,
from drivers/input/joystick/xpad.c:64:
>> include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
include/linux/compiler.h:240:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
240 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
| ^~~~~~~~~~~~~~~~~
include/linux/kernel.h:49:59: note: in expansion of macro '__must_be_array'
49 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~
drivers/input/joystick/xpad.c:1020:40: note: in expansion of macro 'ARRAY_SIZE'
1020 | memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
| ^~~~~~~~~~
>> include/linux/build_bug.h:16:51: error: bit-field '<anonymous>' width not an integer constant
16 | #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
| ^
include/linux/compiler.h:240:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
240 | #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
| ^~~~~~~~~~~~~~~~~
include/linux/kernel.h:49:59: note: in expansion of macro '__must_be_array'
49 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~~~~~~~~~~~
drivers/input/joystick/xpad.c:1021:43: note: in expansion of macro 'ARRAY_SIZE'
1021 | xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
| ^~~~~~~~~~
At top level:
drivers/input/joystick/xpad.c:574:17: warning: 'switch_to_hidpp_cmd' defined but not used [-Wunused-const-variable=]
574 | static const u8 switch_to_hidpp_cmd[] = {
| ^~~~~~~~~~~~~~~~~~~
vim +/g923_hidpp_init +1020 drivers/input/joystick/xpad.c
988
989 /* Callers must hold xpad->odata_lock spinlock */
990 static bool xpad_prepare_next_init_packet(struct usb_xpad *xpad)
991 {
992 const struct xboxone_init_packet *init_packet;
993
994 if (xpad->xtype != XTYPE_XBOXONE)
995 return false;
996
997 /* Perform initialization sequence for Xbox One pads that require it */
998 while (xpad->init_seq < ARRAY_SIZE(xboxone_init_packets)) {
999 init_packet = &xboxone_init_packets[xpad->init_seq++];
1000
1001 if (init_packet->idVendor != 0 &&
1002 init_packet->idVendor != xpad->dev->id.vendor)
1003 continue;
1004
1005 if (init_packet->idProduct != 0 &&
1006 init_packet->idProduct != xpad->dev->id.product)
1007 continue;
1008
1009 /* This packet applies to our device, so prepare to send it */
1010 memcpy(xpad->odata, init_packet->data, init_packet->len);
1011 xpad->irq_out->transfer_buffer_length = init_packet->len;
1012
1013 /* Update packet with current sequence number */
1014 xpad->odata[2] = xpad->odata_serial++;
1015 return true;
1016 }
1017
1018 if (switch_to_hidpp && xpad->mapping & HIDPP_CAPABLE) {
1019 dev_dbg(&xpad->intf->dev, "%s - switching to HID++", __func__);
> 1020 memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
1021 xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
1022 xpad->odata[2] = xpad->odata_serial++;
1023 return true;
1024 }
1025
1026 return false;
1027 }
1028
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32000 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant
2021-05-27 13:41 ` [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant Erica Taylor
@ 2021-05-27 18:22 ` kernel test robot
2021-05-27 14:54 ` kernel test robot
2021-05-27 18:22 ` kernel test robot
2 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2021-05-27 18:22 UTC (permalink / raw)
To: Erica Taylor, linux-input
Cc: kbuild-all, clang-built-linux, Erica Taylor, Jiri Kosina,
Benjamin Tissoires, Dmitry Torokhov, Lee Jones,
Benjamin Valentin, Matt Reynolds, Andrzej Pietrasiewicz,
Sanjay Govind
[-- Attachment #1: Type: text/plain, Size: 4472 bytes --]
Hi Erica,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on hid/for-next]
[also build test ERROR on input/next v5.13-rc3]
[cannot apply to next-20210527]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: x86_64-randconfig-r025-20210526 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 6505c630407c5feec818f0bb1c284f9eeebf2071)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/ae500b9fb85860a6590531cecf51be335880aa67
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
git checkout ae500b9fb85860a6590531cecf51be335880aa67
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/input/joystick/xpad.c:1020:51: error: use of undeclared identifier 'g923_hidpp_init'
memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
^
>> drivers/input/joystick/xpad.c:1020:51: error: use of undeclared identifier 'g923_hidpp_init'
>> drivers/input/joystick/xpad.c:1020:51: error: use of undeclared identifier 'g923_hidpp_init'
drivers/input/joystick/xpad.c:1020:23: error: use of undeclared identifier 'g923_hidpp_init'
memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
^
drivers/input/joystick/xpad.c:1021:54: error: use of undeclared identifier 'g923_hidpp_init'
xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
^
drivers/input/joystick/xpad.c:1021:54: error: use of undeclared identifier 'g923_hidpp_init'
drivers/input/joystick/xpad.c:1021:54: error: use of undeclared identifier 'g923_hidpp_init'
7 errors generated.
vim +/g923_hidpp_init +1020 drivers/input/joystick/xpad.c
988
989 /* Callers must hold xpad->odata_lock spinlock */
990 static bool xpad_prepare_next_init_packet(struct usb_xpad *xpad)
991 {
992 const struct xboxone_init_packet *init_packet;
993
994 if (xpad->xtype != XTYPE_XBOXONE)
995 return false;
996
997 /* Perform initialization sequence for Xbox One pads that require it */
998 while (xpad->init_seq < ARRAY_SIZE(xboxone_init_packets)) {
999 init_packet = &xboxone_init_packets[xpad->init_seq++];
1000
1001 if (init_packet->idVendor != 0 &&
1002 init_packet->idVendor != xpad->dev->id.vendor)
1003 continue;
1004
1005 if (init_packet->idProduct != 0 &&
1006 init_packet->idProduct != xpad->dev->id.product)
1007 continue;
1008
1009 /* This packet applies to our device, so prepare to send it */
1010 memcpy(xpad->odata, init_packet->data, init_packet->len);
1011 xpad->irq_out->transfer_buffer_length = init_packet->len;
1012
1013 /* Update packet with current sequence number */
1014 xpad->odata[2] = xpad->odata_serial++;
1015 return true;
1016 }
1017
1018 if (switch_to_hidpp && xpad->mapping & HIDPP_CAPABLE) {
1019 dev_dbg(&xpad->intf->dev, "%s - switching to HID++", __func__);
> 1020 memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
1021 xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
1022 xpad->odata[2] = xpad->odata_serial++;
1023 return true;
1024 }
1025
1026 return false;
1027 }
1028
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 38222 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant
@ 2021-05-27 18:22 ` kernel test robot
0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2021-05-27 18:22 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 4569 bytes --]
Hi Erica,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on hid/for-next]
[also build test ERROR on input/next v5.13-rc3]
[cannot apply to next-20210527]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
base: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: x86_64-randconfig-r025-20210526 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 6505c630407c5feec818f0bb1c284f9eeebf2071)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/ae500b9fb85860a6590531cecf51be335880aa67
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Erica-Taylor/G923-Racing-Wheel-support/20210527-214315
git checkout ae500b9fb85860a6590531cecf51be335880aa67
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/input/joystick/xpad.c:1020:51: error: use of undeclared identifier 'g923_hidpp_init'
memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
^
>> drivers/input/joystick/xpad.c:1020:51: error: use of undeclared identifier 'g923_hidpp_init'
>> drivers/input/joystick/xpad.c:1020:51: error: use of undeclared identifier 'g923_hidpp_init'
drivers/input/joystick/xpad.c:1020:23: error: use of undeclared identifier 'g923_hidpp_init'
memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
^
drivers/input/joystick/xpad.c:1021:54: error: use of undeclared identifier 'g923_hidpp_init'
xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
^
drivers/input/joystick/xpad.c:1021:54: error: use of undeclared identifier 'g923_hidpp_init'
drivers/input/joystick/xpad.c:1021:54: error: use of undeclared identifier 'g923_hidpp_init'
7 errors generated.
vim +/g923_hidpp_init +1020 drivers/input/joystick/xpad.c
988
989 /* Callers must hold xpad->odata_lock spinlock */
990 static bool xpad_prepare_next_init_packet(struct usb_xpad *xpad)
991 {
992 const struct xboxone_init_packet *init_packet;
993
994 if (xpad->xtype != XTYPE_XBOXONE)
995 return false;
996
997 /* Perform initialization sequence for Xbox One pads that require it */
998 while (xpad->init_seq < ARRAY_SIZE(xboxone_init_packets)) {
999 init_packet = &xboxone_init_packets[xpad->init_seq++];
1000
1001 if (init_packet->idVendor != 0 &&
1002 init_packet->idVendor != xpad->dev->id.vendor)
1003 continue;
1004
1005 if (init_packet->idProduct != 0 &&
1006 init_packet->idProduct != xpad->dev->id.product)
1007 continue;
1008
1009 /* This packet applies to our device, so prepare to send it */
1010 memcpy(xpad->odata, init_packet->data, init_packet->len);
1011 xpad->irq_out->transfer_buffer_length = init_packet->len;
1012
1013 /* Update packet with current sequence number */
1014 xpad->odata[2] = xpad->odata_serial++;
1015 return true;
1016 }
1017
1018 if (switch_to_hidpp && xpad->mapping & HIDPP_CAPABLE) {
1019 dev_dbg(&xpad->intf->dev, "%s - switching to HID++", __func__);
> 1020 memcpy(xpad->odata, g923_hidpp_init, ARRAY_SIZE(g923_hidpp_init));
1021 xpad->irq_out->transfer_buffer_length = ARRAY_SIZE(g923_hidpp_init);
1022 xpad->odata[2] = xpad->odata_serial++;
1023 return true;
1024 }
1025
1026 return false;
1027 }
1028
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38222 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-05-27 18:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-27 13:41 [PATCH 0/2] G923 Racing Wheel support Erica Taylor
2021-05-27 13:41 ` [PATCH 1/2] HID: logitech-hidpp: add G923 Erica Taylor
2021-05-27 13:41 ` [PATCH 2/2] Input: xpad - add Logitech G923 Xbox variant Erica Taylor
2021-05-27 14:21 ` Erica Taylor
2021-05-27 14:54 ` kernel test robot
2021-05-27 14:54 ` kernel test robot
2021-05-27 18:22 ` kernel test robot
2021-05-27 18:22 ` kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.