<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/input/touchscreen, 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: s6sy761 - drop duplicate axis initialization in s6sy761_probe()</title>
<updated>2026-10-19T21:43:10+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-08T09:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a1ba4d41db3b028a7885d26bcff4eeb28e6b025f'/>
<id>a1ba4d41db3b028a7885d26bcff4eeb28e6b025f</id>
<content type='text'>
ABS_MT_TOUCH_MAJOR and ABS_MT_TOUCH_MINOR are initialized twice with
identical parameters in s6sy761_probe(). Remove the duplicate calls.

Reported-by: sashiko-bot@kernel.org
Assisted-by: LLM
Reviewed-by: David Heidelberg &lt;david@ixit.cz&gt;
Link: https://patch.msgid.link/asdjLHHNrrtjIKCb@google.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>
ABS_MT_TOUCH_MAJOR and ABS_MT_TOUCH_MINOR are initialized twice with
identical parameters in s6sy761_probe(). Remove the duplicate calls.

Reported-by: sashiko-bot@kernel.org
Assisted-by: LLM
Reviewed-by: David Heidelberg &lt;david@ixit.cz&gt;
Link: https://patch.msgid.link/asdjLHHNrrtjIKCb@google.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: touchscreen - use named initializers for acpi_device_id</title>
<updated>2026-10-14T17:49:48+00:00</updated>
<author>
<name>Pawel Zalewski</name>
<email>pzalewski@thegoodpenguin.co.uk</email>
</author>
<published>2026-10-13T15:15:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=29ee387509a184c3bfff9e26831aacc7b2edc02a'/>
<id>29ee387509a184c3bfff9e26831aacc7b2edc02a</id>
<content type='text'>
Use a designated initializer for the acpi_device_id fields which makes the
code more readable and consistent with how lists are initialized in the
rest of the kernel code base. Also drop explicitly setting fields to 0
where it is redundant.

Unify the list terminator to have a single space between the brackets and
no trailing comma.

Signed-off-by: Pawel Zalewski &lt;pzalewski@thegoodpenguin.co.uk&gt;
Link: https://patch.msgid.link/20261013-acpi-input-v1-4-53ad09ba82b7@thegoodpenguin.co.uk
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use a designated initializer for the acpi_device_id fields which makes the
code more readable and consistent with how lists are initialized in the
rest of the kernel code base. Also drop explicitly setting fields to 0
where it is redundant.

Unify the list terminator to have a single space between the brackets and
no trailing comma.

Signed-off-by: Pawel Zalewski &lt;pzalewski@thegoodpenguin.co.uk&gt;
Link: https://patch.msgid.link/20261013-acpi-input-v1-4-53ad09ba82b7@thegoodpenguin.co.uk
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: tps6507x-ts - fix input device parent assignment</title>
<updated>2026-10-14T17:21:06+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-08T09:47:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2b4bcdd40ca00695ed21980f3bc7860823d1423e'/>
<id>2b4bcdd40ca00695ed21980f3bc7860823d1423e</id>
<content type='text'>
Assigning the MFD parent device (tsc-&gt;dev) instead of the platform
device (&amp;pdev-&gt;dev) as the parent device after
devm_input_allocate_device(&amp;pdev-&gt;dev) splits devres management across
two devices. As a result, input_register_device() attaches the devm
unregistration action to the MFD parent device rather than the platform
device, leaving the input device registered when the platform driver
unbinds.

devm_input_allocate_device(&amp;pdev-&gt;dev) already sets
input_dev-&gt;dev.parent to &amp;pdev-&gt;dev. Drop the redundant and erroneous
assignment.

Fixes: 2e2a0db8c88d ("Input: tps6507x-ts - update to devm_* API")
Assisted-by: LLM
Link: https://patch.msgid.link/20261008094736.918137-4-dmitry.torokhov@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>
Assigning the MFD parent device (tsc-&gt;dev) instead of the platform
device (&amp;pdev-&gt;dev) as the parent device after
devm_input_allocate_device(&amp;pdev-&gt;dev) splits devres management across
two devices. As a result, input_register_device() attaches the devm
unregistration action to the MFD parent device rather than the platform
device, leaving the input device registered when the platform driver
unbinds.

devm_input_allocate_device(&amp;pdev-&gt;dev) already sets
input_dev-&gt;dev.parent to &amp;pdev-&gt;dev. Drop the redundant and erroneous
assignment.

Fixes: 2e2a0db8c88d ("Input: tps6507x-ts - update to devm_* API")
Assisted-by: LLM
Link: https://patch.msgid.link/20261008094736.918137-4-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: mms114 - fix touch slot corruption in suspend</title>
<updated>2026-10-10T05:55:36+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-08-05T03:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=68a0deade76c01da05f434df9094c2d4cefce1ef'/>
<id>68a0deade76c01da05f434df9094c2d4cefce1ef</id>
<content type='text'>
In mms114_suspend, the driver synthesizes touch release events for all
slots and calls input_sync before disabling the hardware interrupt via
mms114_stop. Because the threaded interrupt handler runs independently
and does not share a lock with this early part of the suspend path, an
incoming hardware interrupt can fire after input_sync completes but
before disable_irq is invoked.

If a touch event arrives during this window, the interrupt handler
reports the touch slot as active again, overwriting the synthetic
release event right before the system goes to sleep. Upon resume,
lifting the finger does not generate a release interrupt, potentially
leaving userspace with a stuck active touch slot.

Fix this race by calling mms114_stop, which disables the IRQ and
synchronizes with any executing interrupt handler, before synthesizing
the touch release events. Also ensure that we only synthesize touch
release events if the input device is enabled, keeping the entire
suspend sequence protected by input_dev-&gt;mutex.

Reported-by: sashiko-bot@kernel.org
Assisted-by: Antigravity:gemini-3.6-flash
Link: https://patch.msgid.link/anKxGkyRRu5A92Q_@google.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 mms114_suspend, the driver synthesizes touch release events for all
slots and calls input_sync before disabling the hardware interrupt via
mms114_stop. Because the threaded interrupt handler runs independently
and does not share a lock with this early part of the suspend path, an
incoming hardware interrupt can fire after input_sync completes but
before disable_irq is invoked.

If a touch event arrives during this window, the interrupt handler
reports the touch slot as active again, overwriting the synthetic
release event right before the system goes to sleep. Upon resume,
lifting the finger does not generate a release interrupt, potentially
leaving userspace with a stuck active touch slot.

Fix this race by calling mms114_stop, which disables the IRQ and
synchronizes with any executing interrupt handler, before synthesizing
the touch release events. Also ensure that we only synthesize touch
release events if the input device is enabled, keeping the entire
suspend sequence protected by input_dev-&gt;mutex.

Reported-by: sashiko-bot@kernel.org
Assisted-by: Antigravity:gemini-3.6-flash
Link: https://patch.msgid.link/anKxGkyRRu5A92Q_@google.com
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: wm97xx - drop redundant wm-&gt;input_dev-&gt;dev.parent assignment</title>
<updated>2026-10-09T19:10:40+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-08T06:20:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8a1a516e8ee68a0c99bd46eec1cc052637bd4670'/>
<id>8a1a516e8ee68a0c99bd46eec1cc052637bd4670</id>
<content type='text'>
devm_input_allocate_device() already initializes
wm-&gt;input_dev-&gt;dev.parent to the supplied parent device, so the explicit
assignment in wm97xx_register_touch() is redundant. Remove it.

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>
devm_input_allocate_device() already initializes
wm-&gt;input_dev-&gt;dev.parent to the supplied parent device, so the explicit
assignment in wm97xx_register_touch() is redundant. Remove it.

Assisted-by: LLM
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: wm831x-ts - drop redundant input_dev-&gt;dev.parent assignment</title>
<updated>2026-10-09T19:10:40+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-08T06:20:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=24edf39189e88218a65890ab858a1c39ef2f4a3a'/>
<id>24edf39189e88218a65890ab858a1c39ef2f4a3a</id>
<content type='text'>
devm_input_allocate_device() already initializes input_dev-&gt;dev.parent
to the supplied parent device, so the explicit assignment in
wm831x_ts_probe() is redundant. Remove it.

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>
devm_input_allocate_device() already initializes input_dev-&gt;dev.parent
to the supplied parent device, so the explicit assignment in
wm831x_ts_probe() is redundant. Remove it.

Assisted-by: LLM
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: sx8654 - drop redundant input-&gt;dev.parent assignment</title>
<updated>2026-10-09T19:10:39+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-08T06:20:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f49a843965576a403c729879c05110d6740793d8'/>
<id>f49a843965576a403c729879c05110d6740793d8</id>
<content type='text'>
devm_input_allocate_device() already initializes input-&gt;dev.parent to
the supplied parent device, so the explicit assignment in sx8654_probe()
is redundant. Remove it.

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>
devm_input_allocate_device() already initializes input-&gt;dev.parent to
the supplied parent device, so the explicit assignment in sx8654_probe()
is redundant. Remove it.

Assisted-by: LLM
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Input: mms114 - drop redundant input_dev-&gt;dev.parent assignment</title>
<updated>2026-10-09T19:10:39+00:00</updated>
<author>
<name>Dmitry Torokhov</name>
<email>dmitry.torokhov@gmail.com</email>
</author>
<published>2026-10-08T06:20:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a23fff38a99552cfbe79dba9efff4600cc828582'/>
<id>a23fff38a99552cfbe79dba9efff4600cc828582</id>
<content type='text'>
devm_input_allocate_device() already initializes input_dev-&gt;dev.parent
to the supplied parent device, so the explicit assignment in
mms114_probe() is redundant. Remove it.

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>
devm_input_allocate_device() already initializes input_dev-&gt;dev.parent
to the supplied parent device, so the explicit assignment in
mms114_probe() is redundant. Remove it.

Assisted-by: LLM
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
