<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/input/joystick, branch master</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge tag 'input-for-v7.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input</title>
<updated>2026-10-25T05:42:04+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-10-25T05:42:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a32e63a613aa80dfdb9acc0a09efab940e96054f'/>
<id>a32e63a613aa80dfdb9acc0a09efab940e96054f</id>
<content type='text'>
Pull input updates from Dmitry Torokhov:

 - Updates to input core to reject parent device overrides on managed
   input devices so devres lifetime management is not split across
   different devices, along with fixes for da7280, drv2665, drv2667, and
   tps6507x-ts that were reparenting managed input devices, and removal
   of redundant parent assignments across multiple drivers

 - A fix in input core to always accept EV_SYN events in input_event()
   and input_inject_event() so events seeded before device registration
   are properly flushed by input_sync()

 - A fix in matrix-keymap helper to reject keycodes above KEY_MAX and
   prevent out-of-bounds bitmap writes

 - Fixes and cleanups for HP GSC PS/2 (gscps2) serio driver to resolve
   race conditions in port list management, ring buffer access, and
   interrupt handling, return IRQ_NONE for unhandled shared interrupts,
   and drop busy-waiting on transmit

 - Fixes for maple_keyb driver to correct inverted key press detection,
   implement open and close methods so polling only runs while the
   device is open, and clean up unused driver fields

 - Fixes for maplecontrol driver to emit EV_SYN after reporting events,
   only enable axes reported by the controller with corrected hat
   limits, and stop polling and clear the callback on close

 - Updates to maplemouse driver to stop polling and clear the callback
   on close and drop redundant driver data cleanup

 - Fixes for matrix_keypad driver reverting forced switching of row
   GPIOs to input mode that broke row interrupts on platforms with
   separate GPIO and interrupt pinmux functions, and propagating the
   actual error code from matrix_keypad_build_keymap()

 - A fix for st-keyscan driver to keep the interrupt disabled while the
   peripheral clock is gated off to prevent bus faults, along with probe
   error handling improvements

 - A fix for mms114 touchscreen driver to disable interrupts before
   synthesizing touch release events during suspend so concurrent
   interrupts do not leave stuck active touch slots

 - Updates to xpad driver to support GameSir Nova Lite controller

 - A number of updates to device tree bindings, including a new schema
   for Analog Devices AD7147 CapTouch controller, conversion of SiS 9200
   I2C touchscreen binding to DT schema format, and allowing the
   wakeup-source property on Dialog DA9062 onkey

 - Other assorted driver cleanups, style fixes, and conversions,
   including switching to named initializers for acpi_device_id tables
   and converting cyttsp5 to DEFINE_SIMPLE_DEV_PM_OPS.

* tag 'input-for-v7.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (94 commits)
  Revert "Input: matrix_keypad - force switch rows to input mode"
  Input: s6sy761 - drop duplicate axis initialization in s6sy761_probe()
  Input: always accept EV_SYN in input_event()
  dt-bindings: input: dlg,da9062-onkey: Allow wakeup-source property
  Input: xpad - add GameSir Nova Lite support
  Input: touchscreen - use named initializers for acpi_device_id
  Input: mouse - cyapa: use named initializers for acpi_device_id
  Input: misc - use named initializers for acpi_device_id
  Input: keyboard - use named initializers for acpi_device_id
  Input: reject parent overrides on managed input devices
  Input: tps6507x-ts - fix input device parent assignment
  Input: drv2667 - fix input device parent assignment
  Input: drv2665 - fix input device parent assignment
  Input: da7280 - fix input device parent assignment
  Input: maple_keyb - remove unused mdev-&gt;driver assignment
  Input: maplecontrol - remove unused mdev-&gt;driver assignment
  Input: maplemouse - remove unused mdev-&gt;driver assignment
  Input: maplecontrol - remove redundant drvdata resetting
  Input: maple_keyb - remove redundant drvdata resetting
  Input: maplemouse - remove redundant drvdata resetting
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull input updates from Dmitry Torokhov:

 - Updates to input core to reject parent device overrides on managed
   input devices so devres lifetime management is not split across
   different devices, along with fixes for da7280, drv2665, drv2667, and
   tps6507x-ts that were reparenting managed input devices, and removal
   of redundant parent assignments across multiple drivers

 - A fix in input core to always accept EV_SYN events in input_event()
   and input_inject_event() so events seeded before device registration
   are properly flushed by input_sync()

 - A fix in matrix-keymap helper to reject keycodes above KEY_MAX and
   prevent out-of-bounds bitmap writes

 - Fixes and cleanups for HP GSC PS/2 (gscps2) serio driver to resolve
   race conditions in port list management, ring buffer access, and
   interrupt handling, return IRQ_NONE for unhandled shared interrupts,
   and drop busy-waiting on transmit

 - Fixes for maple_keyb driver to correct inverted key press detection,
   implement open and close methods so polling only runs while the
   device is open, and clean up unused driver fields

 - Fixes for maplecontrol driver to emit EV_SYN after reporting events,
   only enable axes reported by the controller with corrected hat
   limits, and stop polling and clear the callback on close

 - Updates to maplemouse driver to stop polling and clear the callback
   on close and drop redundant driver data cleanup

 - Fixes for matrix_keypad driver reverting forced switching of row
   GPIOs to input mode that broke row interrupts on platforms with
   separate GPIO and interrupt pinmux functions, and propagating the
   actual error code from matrix_keypad_build_keymap()

 - A fix for st-keyscan driver to keep the interrupt disabled while the
   peripheral clock is gated off to prevent bus faults, along with probe
   error handling improvements

 - A fix for mms114 touchscreen driver to disable interrupts before
   synthesizing touch release events during suspend so concurrent
   interrupts do not leave stuck active touch slots

 - Updates to xpad driver to support GameSir Nova Lite controller

 - A number of updates to device tree bindings, including a new schema
   for Analog Devices AD7147 CapTouch controller, conversion of SiS 9200
   I2C touchscreen binding to DT schema format, and allowing the
   wakeup-source property on Dialog DA9062 onkey

 - Other assorted driver cleanups, style fixes, and conversions,
   including switching to named initializers for acpi_device_id tables
   and converting cyttsp5 to DEFINE_SIMPLE_DEV_PM_OPS.

* tag 'input-for-v7.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (94 commits)
  Revert "Input: matrix_keypad - force switch rows to input mode"
  Input: s6sy761 - drop duplicate axis initialization in s6sy761_probe()
  Input: always accept EV_SYN in input_event()
  dt-bindings: input: dlg,da9062-onkey: Allow wakeup-source property
  Input: xpad - add GameSir Nova Lite support
  Input: touchscreen - use named initializers for acpi_device_id
  Input: mouse - cyapa: use named initializers for acpi_device_id
  Input: misc - use named initializers for acpi_device_id
  Input: keyboard - use named initializers for acpi_device_id
  Input: reject parent overrides on managed input devices
  Input: tps6507x-ts - fix input device parent assignment
  Input: drv2667 - fix input device parent assignment
  Input: drv2665 - fix input device parent assignment
  Input: da7280 - fix input device parent assignment
  Input: maple_keyb - remove unused mdev-&gt;driver assignment
  Input: maplecontrol - remove unused mdev-&gt;driver assignment
  Input: maplemouse - remove unused mdev-&gt;driver assignment
  Input: maplecontrol - remove redundant drvdata resetting
  Input: maple_keyb - remove redundant drvdata resetting
  Input: maplemouse - remove redundant drvdata resetting
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'next' into for-linus</title>
<updated>2026-10-20T00:57:19+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-20T00:57:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f57202d55333f750a18e21c3b3f35f48ef14a61e'/>
<id>f57202d55333f750a18e21c3b3f35f48ef14a61e</id>
<content type='text'>
Prepare input updates for 7.4 merge window.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prepare input updates for 7.4 merge window.
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: xpad - add GameSir Nova Lite support</title>
<updated>2026-10-14T17:53:00+00:00</updated>
<author>
<name>Francesco Orlando</name>
<email>francesco.orlando99@libero.it</email>
</author>
<published>2026-10-11T16:58:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2e6f2e5799f328ca0879dad14d7f3709c7f7496b'/>
<id>2e6f2e5799f328ca0879dad14d7f3709c7f7496b</id>
<content type='text'>
Add vendor and product ID for GameSir Nova Lite (0x3537:0x1040) in
XInput mode to enable force feedback rumble support.

Signed-off-by: Francesco Orlando &lt;francesco.orlando99@libero.it&gt;
Link: https://patch.msgid.link/20261011165821.72698-1-francesco.orlando99@libero.it
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add vendor and product ID for GameSir Nova Lite (0x3537:0x1040) in
XInput mode to enable force feedback rumble support.

Signed-off-by: Francesco Orlando &lt;francesco.orlando99@libero.it&gt;
Link: https://patch.msgid.link/20261011165821.72698-1-francesco.orlando99@libero.it
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: maplecontrol - remove unused mdev-&gt;driver assignment</title>
<updated>2026-10-14T17:18:14+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-07-04T05:57:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=37a1c20052235e505a0fd27ce687d366e98d3b08'/>
<id>37a1c20052235e505a0fd27ce687d366e98d3b08</id>
<content type='text'>
The driver field in struct maple_device is no longer used since
commit 1795cf48b322 ("sh/maple: clean maple bus code") which removed
the reading of this field.

Remove the unused assignment to mdev-&gt;driver and the now unused
mdrv variable in probe_maple_controller.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-12-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver field in struct maple_device is no longer used since
commit 1795cf48b322 ("sh/maple: clean maple bus code") which removed
the reading of this field.

Remove the unused assignment to mdev-&gt;driver and the now unused
mdrv variable in probe_maple_controller.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-12-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: maplecontrol - remove redundant drvdata resetting</title>
<updated>2026-10-14T17:17:50+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-07-04T05:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d4db324ecdc6b5372c4dc34bd0b8a5ac8d5cb38c'/>
<id>d4db324ecdc6b5372c4dc34bd0b8a5ac8d5cb38c</id>
<content type='text'>
The driver core automatically resets driver data to NULL on probe
failures and device removal, so we can remove it from the driver.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-10-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver core automatically resets driver data to NULL on probe
failures and device removal, so we can remove it from the driver.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-10-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: maplecontrol - stop polling and clear callback on close</title>
<updated>2026-10-14T17:13:38+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-07-04T05:57:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=779db8dab7b972f029f0f08fa4f7d60c8a8d2348'/>
<id>779db8dab7b972f029f0f08fa4f7d60c8a8d2348</id>
<content type='text'>
In dc_pad_close(), pass NULL instead of dc_pad_callback to
maple_getcond_callback() to both stop polling and clear the callback
pointer when the input device is closed.

This makes the manual clearing of mdev-&gt;callback in
remove_maple_controller() redundant, as input_unregister_device()
automatically closes the device if it was open. Remove the redundant
assignment.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-5-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In dc_pad_close(), pass NULL instead of dc_pad_callback to
maple_getcond_callback() to both stop polling and clear the callback
pointer when the input device is closed.

This makes the manual clearing of mdev-&gt;callback in
remove_maple_controller() redundant, as input_unregister_device()
automatically closes the device if it was open. Remove the redundant
assignment.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-5-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: maplecontrol - emit EV_SYN report after reporting events</title>
<updated>2026-10-14T17:13:01+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-14T17:11:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2f201770cd4a3e3178c53c977aab172085f3d2d4'/>
<id>2f201770cd4a3e3178c53c977aab172085f3d2d4</id>
<content type='text'>
The driver decodes controller packets and reports button presses and
axis positions in dc_pad_callback(), but never calls input_sync() to
signal completion of the input report frame. Consequently, events
remain pending without waking up userspace readers.

Emit an EV_SYN/SYN_REPORT event after reporting buttons and axis states.

Fixes: 01461d7e65a6 ("Input: add support for Maple controller as a joystick")
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/r/20260704061045.036701F000E9@smtp.kernel.org
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver decodes controller packets and reports button presses and
axis positions in dc_pad_callback(), but never calls input_sync() to
signal completion of the input report frame. Consequently, events
remain pending without waking up userspace readers.

Emit an EV_SYN/SYN_REPORT event after reporting buttons and axis states.

Fixes: 01461d7e65a6 ("Input: add support for Maple controller as a joystick")
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/r/20260704061045.036701F000E9@smtp.kernel.org
Assisted-by: LLM
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: maplecontrol - only enable present axes</title>
<updated>2026-10-14T17:12:45+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-07-04T05:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dbb660ccc9f1506f87f92b51b013043b113b074a'/>
<id>dbb660ccc9f1506f87f92b51b013043b113b074a</id>
<content type='text'>
The driver was unconditionally enabling all possible analog axes and
hats on the input device, even if the controller reported it did not
have them in its function data.

Move the input_set_abs_params() calls inside the capability check loop
so that only actually present axes are enabled on the input device.

Also, correct the D-pad (hat) axis limits. They were initialized with
inverted limits (min=1, max=-1). Correct them to min=-1, max=1, which
matches the values (-1, 0, 1) reported by the driver.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-3-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver was unconditionally enabling all possible analog axes and
hats on the input device, even if the controller reported it did not
have them in its function data.

Move the input_set_abs_params() calls inside the capability check loop
so that only actually present axes are enabled on the input device.

Also, correct the D-pad (hat) axis limits. They were initialized with
inverted limits (min=1, max=-1). Correct them to min=-1, max=1, which
matches the values (-1, 0, 1) reported by the driver.

Assisted-by: Antigravity:gemini-3.5-flash
Link: https://patch.msgid.link/20260703-b4-maple-cleanup-v1-3-41e424964da5@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'input-for-v7.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input</title>
<updated>2026-10-11T15:10:43+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-10-11T15:10:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b88c841d11641923fa3a4da011d7202cd89df68a'/>
<id>b88c841d11641923fa3a4da011d7202cd89df68a</id>
<content type='text'>
Pull input fixes from Dmitry Torokhov:

 - A fix for the ati_remote2 sysfs attributes handling, resolving type
   confusion after conversion to dev_groups

 - Updates to the xpad joystick driver adding support for the Corsair
   Novablade Pro controller (wired and 2.4 GHz wireless) and a newer
   hardware revision of the 8BitDo Pro 2 Wired Controller for Xbox.

* tag 'input-for-v7.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: xpad - add support for 8BitDo Pro 2 Wired Controller for Xbox
  Input: xpad - add support for Corsair Novablade Pro
  Input: ati_remote2 - fix type confusion in device attribute handlers
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull input fixes from Dmitry Torokhov:

 - A fix for the ati_remote2 sysfs attributes handling, resolving type
   confusion after conversion to dev_groups

 - Updates to the xpad joystick driver adding support for the Corsair
   Novablade Pro controller (wired and 2.4 GHz wireless) and a newer
   hardware revision of the 8BitDo Pro 2 Wired Controller for Xbox.

* tag 'input-for-v7.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: xpad - add support for 8BitDo Pro 2 Wired Controller for Xbox
  Input: xpad - add support for Corsair Novablade Pro
  Input: ati_remote2 - fix type confusion in device attribute handlers
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: xpad - add support for 8BitDo Pro 2 Wired Controller for Xbox</title>
<updated>2026-10-09T19:19:05+00:00</updated>
<author>
<name>Bihaan Sen</name>
<email>stevewholikesthings@gmail.com</email>
</author>
<published>2026-09-25T11:44:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=41363c27b8509bd4efcba244803edac9ba25d1b5'/>
<id>41363c27b8509bd4efcba244803edac9ba25d1b5</id>
<content type='text'>
The 8BitDo Pro 2 Wired Controller for Xbox is already matched by the
vendor-wide XPAD_XBOXONE_VENDOR(0x2dc8) entry, but a later hardware
revision reports product ID 0x201e, which has no entry in the
xpad_device table. The device therefore binds and functions but is
exposed to userspace as "Generic X-Box pad".

Add the VID/PID pair so the controller is named correctly, and set
MAP_SHARE_BUTTON to expose the share button as KEY_RECORD.

Signed-off-by: Bihaan Sen &lt;stevewholikesthings@gmail.com&gt;
Link: https://patch.msgid.link/20260925114459.110253-1-stevewholikesthings@gmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 8BitDo Pro 2 Wired Controller for Xbox is already matched by the
vendor-wide XPAD_XBOXONE_VENDOR(0x2dc8) entry, but a later hardware
revision reports product ID 0x201e, which has no entry in the
xpad_device table. The device therefore binds and functions but is
exposed to userspace as "Generic X-Box pad".

Add the VID/PID pair so the controller is named correctly, and set
MAP_SHARE_BUTTON to expose the share button as KEY_RECORD.

Signed-off-by: Bihaan Sen &lt;stevewholikesthings@gmail.com&gt;
Link: https://patch.msgid.link/20260925114459.110253-1-stevewholikesthings@gmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
