* [PATCH] Input: xpad - add support for Azeron devices @ 2026-06-19 12:19 Roberts Kursitis 2026-06-19 12:29 ` sashiko-bot 2026-06-19 13:28 ` [PATCH v2 1/1] " Roberts Kursitis 0 siblings, 2 replies; 5+ messages in thread From: Roberts Kursitis @ 2026-06-19 12:19 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: linux-input, linux-kernel, Roberts Kursitis Add USB Vendor and Product IDs for the Azeron devices (Cyro, Cyborg, Classic/Compact, Cyro Lefty, Cyborg II and Keyzen). These devices share a firmware XInput implementation and expose the standard xbox 360 interface signature. Note that 0x16d0 is a shared vendor block (MCS Electronics / pid.codes allocations), but is bound here as the XPAD_XBOX360_VENDOR macro only binds interfaces presenting the strict xbox 360 signature. Note: Devices may reject the LED magic-packet with -EPIPE. Signed-off-by: Roberts Kursitis <roberts.kursitis@azeron.eu> --- drivers/input/joystick/xpad.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index feb8f368f..82019cbe2 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -292,6 +292,14 @@ static const struct xpad_device { { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, { 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 }, { 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 }, + { 0x162e, 0xbeef, "Joytech Neo-Se Take2", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x1103, "Azeron Cyro", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x113c, "Azeron Cyborg", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x1192, "Azeron Classic/Compact", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x1212, "Azeron Cyro Lefty", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x12f7, "Azeron Cyborg II", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x13ea, "Azeron Keyzen", 0, XTYPE_XBOX360 }, + { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, { 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 }, { 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 }, { 0x1a86, 0xe310, "Legion Go S", 0, XTYPE_XBOX360 }, @@ -533,6 +541,7 @@ static const struct usb_device_id xpad_table[] = { XPAD_XBOX360_VENDOR(0x15e4), /* Numark Xbox 360 controllers */ XPAD_XBOX360_VENDOR(0x162e), /* Joytech Xbox 360 controllers */ XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */ + XPAD_XBOX360_VENDOR(0x16d0), /* Azeron controllers */ XPAD_XBOX360_VENDOR(0x17ef), /* Lenovo */ XPAD_XBOX360_VENDOR(0x1949), /* Amazon controllers */ XPAD_XBOX360_VENDOR(0x1a86), /* Nanjing Qinheng Microelectronics (WCH) */ -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Input: xpad - add support for Azeron devices 2026-06-19 12:19 [PATCH] Input: xpad - add support for Azeron devices Roberts Kursitis @ 2026-06-19 12:29 ` sashiko-bot 2026-06-19 13:28 ` [PATCH v2 1/1] " Roberts Kursitis 1 sibling, 0 replies; 5+ messages in thread From: sashiko-bot @ 2026-06-19 12:29 UTC (permalink / raw) To: Roberts Kursitis; +Cc: dmitry.torokhov, linux-input Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: New issues: - [Low] The patch inadvertently introduces duplicate device entries and breaks the documented sorting order of the `xpad_device` array. Pre-existing issues: - [High] The newly supported devices permanently wedge the driver's OUT endpoint upon connection due to an unhandled -EPIPE stall on the LED packet. -- commit 82abb48f58f1b666ded31cf35205e5974880b177 Author: Roberts Kursitis <roberts.kursitis@azeron.eu> Input: xpad - add support for Azeron devices Add USB Vendor and Product IDs for the Azeron devices (Cyro, Cyborg, Classic/Compact, Cyro Lefty, Cyborg II and Keyzen). > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > index feb8f368f834e..82019cbe2a9c7 100644 > --- a/drivers/input/joystick/xpad.c > +++ b/drivers/input/joystick/xpad.c > @@ -292,6 +292,14 @@ static const struct xpad_device { > { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, > { 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 }, > { 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 }, > + { 0x162e, 0xbeef, "Joytech Neo-Se Take2", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x1103, "Azeron Cyro", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x113c, "Azeron Cyborg", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x1192, "Azeron Classic/Compact", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x1212, "Azeron Cyro Lefty", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x12f7, "Azeron Cyborg II", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x13ea, "Azeron Keyzen", 0, XTYPE_XBOX360 }, > + { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, [Severity: Low] It looks like this might be a copy-paste error, and it also breaks the documented vendor/product ID sorting order of the xpad_device array. Was it intended to duplicate the "Joytech Neo-Se Take2" and "Razer Onza Tournament Edition" entries here? [Severity: High] This isn't a bug introduced by this patch, but adding these new devices here unconditionally triggers it since they are mapped generically as XTYPE_XBOX360 without any quirks. The commit message notes that these devices reject the LED magic-packet with a stall (-EPIPE). Because they are mapped as XTYPE_XBOX360, xpad_led_probe() unconditionally queues an LED initialization command during probe. When the device stalls the endpoint, the xpad_irq_out() handler receives -EPIPE but fails to clear the hardware halt via usb_clear_halt(). It leaves the endpoint permanently halted at the hardware level: drivers/input/joystick/xpad.c:xpad_irq_out() { ... switch (status) { case 0: /* success */ xpad->irq_out_active = xpad_prepare_next_out_packet(xpad); break; ... default: dev_dbg(dev, "%s - nonzero urb status received: %d\n", __func__, status); break; } ... } The host controller will ignore further submissions to a halted endpoint, causing all subsequent output commands (like force-feedback) to silently fail or hang. Should a quirk be implemented and applied to these devices to avoid sending LED packets to devices that stall on them? > { 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 }, > { 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 }, > { 0x1a86, 0xe310, "Legion Go S", 0, XTYPE_XBOX360 }, -- Sashiko AI review · https://sashiko.dev/#/patchset/20260619121901.17926-1-roberts.kursitis@azeron.eu?part=1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/1] Input: xpad - add support for Azeron devices 2026-06-19 12:19 [PATCH] Input: xpad - add support for Azeron devices Roberts Kursitis 2026-06-19 12:29 ` sashiko-bot @ 2026-06-19 13:28 ` Roberts Kursitis 2026-06-19 13:43 ` sashiko-bot 2026-06-19 14:22 ` [PATCH v3] " Roberts Kursitis 1 sibling, 2 replies; 5+ messages in thread From: Roberts Kursitis @ 2026-06-19 13:28 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: linux-input, linux-kernel, Roberts Kursitis Add USB Vendor and Product IDs for the Azeron devices (Cyro, Cyborg, Classic/Compact, Cyro Lefty, Cyborg II and Keyzen). These devices share a firmware XInput implementation and expose the standard xbox 360 interface signature. Note that 0x16d0 is a shared vendor block (MCS Electronics / pid.codes allocations), but is bound here as the XPAD_XBOX360_VENDOR macro only binds interfaces presenting the strict xbox 360 signature. Note: Devices may reject the LED magic-packet with -EPIPE. These devices reject the Xbox 360 LED magic packet with a stall (-EPIPE). Add a QUIRK_NO_LED flag, set on all Azeron entries, so xpad_led_probe() skips LED initialization for them. Signed-off-by: Roberts Kursitis <roberts.kursitis@azeron.eu> --- drivers/input/joystick/xpad.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index feb8f368f..4efcd16c3 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -50,6 +50,7 @@ #define MAP_PADDLES BIT(4) #define MAP_PROFILE_BUTTON BIT(5) #define MAP_SHARE_OFFSET BIT(6) +#define QUIRK_NO_LED BIT(7) #define DANCEPAD_MAP_CONFIG (MAP_DPAD_TO_BUTTONS | \ MAP_TRIGGERS_TO_BUTTONS | MAP_STICKS_TO_NULL) @@ -289,6 +290,12 @@ static const struct xpad_device { { 0x15e4, 0x3f0a, "Xbox Airflo wired controller", 0, XTYPE_XBOX360 }, { 0x15e4, 0x3f10, "Batarang Xbox 360 controller", 0, XTYPE_XBOX360 }, { 0x162e, 0xbeef, "Joytech Neo-Se Take2", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x1103, "Azeron Cyro", QUIRK_NO_LED, XTYPE_XBOX360 }, + { 0x16d0, 0x113c, "Azeron Cyborg", QUIRK_NO_LED, XTYPE_XBOX360 }, + { 0x16d0, 0x1192, "Azeron Classic/Compact", QUIRK_NO_LED, XTYPE_XBOX360 }, + { 0x16d0, 0x1212, "Azeron Cyro Lefty", QUIRK_NO_LED, XTYPE_XBOX360 }, + { 0x16d0, 0x12f7, "Azeron Cyborg II", QUIRK_NO_LED, XTYPE_XBOX360 }, + { 0x16d0, 0x13ea, "Azeron Keyzen", QUIRK_NO_LED, XTYPE_XBOX360 }, { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, { 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 }, { 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 }, @@ -532,6 +539,7 @@ static const struct usb_device_id xpad_table[] = { XPAD_XBOXONE_VENDOR(0x1532), /* Razer Wildcat */ XPAD_XBOX360_VENDOR(0x15e4), /* Numark Xbox 360 controllers */ XPAD_XBOX360_VENDOR(0x162e), /* Joytech Xbox 360 controllers */ + XPAD_XBOX360_VENDOR(0x16d0), /* Azeron controllers */ XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */ XPAD_XBOX360_VENDOR(0x17ef), /* Lenovo */ XPAD_XBOX360_VENDOR(0x1949), /* Amazon controllers */ @@ -1719,6 +1727,9 @@ static int xpad_led_probe(struct usb_xpad *xpad) struct led_classdev *led_cdev; int error; + if (xpad->mapping & QUIRK_NO_LED) + return 0; + if (xpad->xtype != XTYPE_XBOX360 && xpad->xtype != XTYPE_XBOX360W) return 0; -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/1] Input: xpad - add support for Azeron devices 2026-06-19 13:28 ` [PATCH v2 1/1] " Roberts Kursitis @ 2026-06-19 13:43 ` sashiko-bot 2026-06-19 14:22 ` [PATCH v3] " Roberts Kursitis 1 sibling, 0 replies; 5+ messages in thread From: sashiko-bot @ 2026-06-19 13:43 UTC (permalink / raw) To: Roberts Kursitis; +Cc: dmitry.torokhov, linux-input Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: New issues: - [Low] The newly added Azeron device IDs are not sorted by vendor ID, violating the explicit comments in the driver. Pre-existing issues: - [High] Azeron devices will stall (-EPIPE) on FF_RUMBLE packets, triggering a pre-existing infinite URB retry loop. -- commit 32ac579407e3b61d52176dbd3f7d52733eb47d44 Author: Roberts Kursitis <roberts.kursitis@azeron.eu> Input: xpad - add support for Azeron devices Add USB Vendor and Product IDs for the Azeron devices (Cyro, Cyborg, Classic/Compact, Cyro Lefty, Cyborg II and Keyzen). Adds a QUIRK_NO_LED flag to skip LED initialization since these devices reject the Xbox 360 LED magic packet with a stall. > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > index feb8f368f834e..4efcd16c3713c 100644 > --- a/drivers/input/joystick/xpad.c > +++ b/drivers/input/joystick/xpad.c [ ... ] > @@ -289,6 +290,12 @@ static const struct xpad_device { > { 0x15e4, 0x3f0a, "Xbox Airflo wired controller", 0, XTYPE_XBOX360 }, > { 0x15e4, 0x3f10, "Batarang Xbox 360 controller", 0, XTYPE_XBOX360 }, > { 0x162e, 0xbeef, "Joytech Neo-Se Take2", 0, XTYPE_XBOX360 }, > + { 0x16d0, 0x1103, "Azeron Cyro", QUIRK_NO_LED, XTYPE_XBOX360 }, [Severity: High] This is a pre-existing issue, but mapping these devices as XTYPE_XBOX360 will unconditionally enable the FF_RUMBLE capability in xpad_init_ff(). Since you noted in the commit message that these devices stall (-EPIPE) on LED packets, will they also stall if userspace sends a rumble effect packet? If they do stall on rumble, this will trigger a pre-existing bug in xpad_irq_out(), which handles the -EPIPE status by falling through to the default case: drivers/input/joystick/xpad.c:xpad_irq_out() { switch (status) { ... default: dev_dbg(dev, "%s - nonzero urb status received: %d\n", __func__, status); break; } if (xpad->irq_out_active) { usb_anchor_urb(urb, &xpad->irq_out_anchor); error = usb_submit_urb(urb, GFP_ATOMIC); ... } Because xpad->irq_out_active is not cleared on -EPIPE, the driver will infinitely resubmit the stalled OUT URB, creating an interrupt storm. Should a QUIRK_NO_RUMBLE or similar be added to prevent rumble packets from being sent to these devices? [Severity: Low] this isn't a bug, but the new entries with vendor ID 0x16d0 are placed before the 0x1689 entries. Should these be moved down to maintain the numerical sorting of the xpad_device array? > + { 0x16d0, 0x113c, "Azeron Cyborg", QUIRK_NO_LED, XTYPE_XBOX360 }, > + { 0x16d0, 0x1192, "Azeron Classic/Compact", QUIRK_NO_LED, XTYPE_XBOX360 }, > + { 0x16d0, 0x1212, "Azeron Cyro Lefty", QUIRK_NO_LED, XTYPE_XBOX360 }, > + { 0x16d0, 0x12f7, "Azeron Cyborg II", QUIRK_NO_LED, XTYPE_XBOX360 }, > + { 0x16d0, 0x13ea, "Azeron Keyzen", QUIRK_NO_LED, XTYPE_XBOX360 }, > { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, > { 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 }, [ ... ] > @@ -532,6 +539,7 @@ static const struct usb_device_id xpad_table[] = { > XPAD_XBOXONE_VENDOR(0x1532), /* Razer Wildcat */ > XPAD_XBOX360_VENDOR(0x15e4), /* Numark Xbox 360 controllers */ > XPAD_XBOX360_VENDOR(0x162e), /* Joytech Xbox 360 controllers */ > + XPAD_XBOX360_VENDOR(0x16d0), /* Azeron controllers */ [Severity: Low] this isn't a bug, but similarly here, should the 0x16d0 vendor block be placed after 0x1689 to keep the list sorted by vendor ID as requested by the comment at the top of xpad_table? > XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */ > XPAD_XBOX360_VENDOR(0x17ef), /* Lenovo */ > XPAD_XBOX360_VENDOR(0x1949), /* Amazon controllers */ [ ... ] -- Sashiko AI review · https://sashiko.dev/#/patchset/20260619132821.18764-1-roberts.kursitis@azeron.eu?part=1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3] Input: xpad - add support for Azeron devices 2026-06-19 13:28 ` [PATCH v2 1/1] " Roberts Kursitis 2026-06-19 13:43 ` sashiko-bot @ 2026-06-19 14:22 ` Roberts Kursitis 1 sibling, 0 replies; 5+ messages in thread From: Roberts Kursitis @ 2026-06-19 14:22 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: linux-input, linux-kernel, Roberts Kursitis Add USB Vendor and Product IDs for the Azeron devices (Cyro, Cyborg, Classic/Compact, Cyro Lefty, Cyborg II and Keyzen). These devices share a firmware XInput implementation and expose the standard Xbox 360 interface signature. Note that 0x16d0 is a shared vendor block (MCS Electronics / pid.codes allocations), but binding here is safe as the XPAD_XBOX360_VENDOR macro only binds interfaces presenting the strict Xbox 360 signature. These devices reject Xbox 360 LED and rumble magic packets with a stall (-EPIPE). Add FLAG_NO_LED and FLAG_NO_RUMBLE device flags, set on all Azeron entries, so xpad_led_probe() and xpad_init_ff() skip LED and force-feedback initialization for them. Signed-off-by: Roberts Kursitis <roberts.kursitis@azeron.eu> --- v2 -> v3: - Move 0x16d0 entries after 0x1689 to keep both tables sorted by vendor ID - Move quirks from the mapping field to the flags field; mapping is u8 and the new bits overflowed it - Add FLAG_NO_RUMBLE; these devices stall on rumble packets too drivers/input/joystick/xpad.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index feb8f368f..405fcd5e9 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c @@ -72,6 +72,9 @@ #define PKT_XBE2_FW_5_11 4 #define FLAG_DELAY_INIT BIT(0) +#define FLAG_NO_LED BIT(1) +#define FLAG_NO_RUMBLE BIT(2) +#define FLAG_NO_LED_RUMBLE (FLAG_NO_LED | FLAG_NO_RUMBLE) static bool dpad_to_buttons; module_param(dpad_to_buttons, bool, S_IRUGO); @@ -292,6 +295,12 @@ static const struct xpad_device { { 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 }, { 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 }, { 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 }, + { 0x16d0, 0x1103, "Azeron Cyro", 0, XTYPE_XBOX360, FLAG_NO_LED_RUMBLE }, + { 0x16d0, 0x113c, "Azeron Cyborg", 0, XTYPE_XBOX360, FLAG_NO_LED_RUMBLE }, + { 0x16d0, 0x1192, "Azeron Classic/Compact", 0, XTYPE_XBOX360, FLAG_NO_LED_RUMBLE }, + { 0x16d0, 0x1212, "Azeron Cyro Lefty", 0, XTYPE_XBOX360, FLAG_NO_LED_RUMBLE }, + { 0x16d0, 0x12f7, "Azeron Cyborg II", 0, XTYPE_XBOX360, FLAG_NO_LED_RUMBLE }, + { 0x16d0, 0x13ea, "Azeron Keyzen", 0, XTYPE_XBOX360, FLAG_NO_LED_RUMBLE }, { 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 }, { 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 }, { 0x1a86, 0xe310, "Legion Go S", 0, XTYPE_XBOX360 }, @@ -533,6 +542,7 @@ static const struct usb_device_id xpad_table[] = { XPAD_XBOX360_VENDOR(0x15e4), /* Numark Xbox 360 controllers */ XPAD_XBOX360_VENDOR(0x162e), /* Joytech Xbox 360 controllers */ XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */ + XPAD_XBOX360_VENDOR(0x16d0), /* Azeron controllers */ XPAD_XBOX360_VENDOR(0x17ef), /* Lenovo */ XPAD_XBOX360_VENDOR(0x1949), /* Amazon controllers */ XPAD_XBOX360_VENDOR(0x1a86), /* Nanjing Qinheng Microelectronics (WCH) */ @@ -776,6 +786,8 @@ struct usb_xpad { const char *name; /* name of the device */ struct work_struct work; /* init/remove device from callback */ time64_t mode_btn_down_ts; + bool no_led; /* device stalls on LED packets */ + bool no_rumble; /* device stalls on rumble packets */ bool delay_init; /* init packets should be delayed */ bool delayed_init_done; }; @@ -1615,6 +1627,9 @@ static int xpad_init_ff(struct usb_xpad *xpad) if (xpad->xtype == XTYPE_UNKNOWN) return 0; + if (xpad->no_rumble) + return 0; + input_set_capability(xpad->dev, EV_FF, FF_RUMBLE); return input_ff_create_memless(xpad->dev, NULL, xpad_play_effect); @@ -1719,6 +1734,9 @@ static int xpad_led_probe(struct usb_xpad *xpad) struct led_classdev *led_cdev; int error; + if (xpad->no_led) + return 0; + if (xpad->xtype != XTYPE_XBOX360 && xpad->xtype != XTYPE_XBOX360W) return 0; @@ -2082,6 +2100,10 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id xpad->name = xpad_device[i].name; if (xpad_device[i].flags & FLAG_DELAY_INIT) xpad->delay_init = true; + if (xpad_device[i].flags & FLAG_NO_LED) + xpad->no_led = true; + if (xpad_device[i].flags & FLAG_NO_RUMBLE) + xpad->no_rumble = true; xpad->packet_type = PKT_XB; INIT_WORK(&xpad->work, xpad_presence_work); -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-06-19 14:23 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-06-19 12:19 [PATCH] Input: xpad - add support for Azeron devices Roberts Kursitis 2026-06-19 12:29 ` sashiko-bot 2026-06-19 13:28 ` [PATCH v2 1/1] " Roberts Kursitis 2026-06-19 13:43 ` sashiko-bot 2026-06-19 14:22 ` [PATCH v3] " Roberts Kursitis
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox