[git pull] Input updates for v7.1-rc0

Dmitry Torokhov
2026-04-22T15:05:40Z

Hi Linus,

Please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git tags/input-for-v7.1-rc0

to receive updates for the input subsystem. You will get:

- a new charlieplex GPIO keypad driver

- an update to aw86927 driver to support 86938 chip

- an update for Chrome OS EC keyboard driver to support Fn-<key> keymap
extension

- an UAF fix in debugfs teardown in EDT touchscreen driver

- a number of conversions for input drivers to use guard() and __free()
cleanup primitives

- several drivers for bus mice (inport, logibm) and other very old
devices have been removed

- OLPC HGPK PS/2 protocol has been removed as it's been broken and
inactive for 10 something years

- dedicated kpsmoused has been removed from psmouse driver

- other assorted cleanups and fixups.

Changelog:
---------

Ariel Silver (1):
Input: atkbd - validate scancode in firmware keymap entries

Bhushan Shah (1):
dt-bindings: input: touchscreen: edt-ft5x06: Add FocalTech FT3519

Dmitry Torokhov (57):
Input: cros_ec_keyb - use u8 instead of uint8_t
Input: cros_ec_keyb - use BIT() macro instead of open-coding shifts
Input: cros_ec_keyb - simplify cros_ec_keyb_work()
Input: cros_ec_keyb - do not allocate keyboard state separately
Input: cros_ec_keyb - factor out column processing
Input: atkbd - use __free() cleanup facility in when parsing FW keymap
Input: atkbd - use dev_warn_ratelimited()
Input: atkbd - switch to using explicitly sized types
Input: atkbd - fix various formatting issues
Input: hgpk - remove protocol support
Input: alps - use standard workqueue when registering supplemental device
Input: psmouse - remove dedicated kpsmoused workqueue
Input: ad7877 - use guard notation when acquiring mutexes/locks
Input: ad7879 - use guard notation when acquiring mutexes
Input: ads7846 - switch to using cleanup functions
Input: atmel_mxt_ts - switch to using cleanup functions
Input: auo-pixcir-ts - use guard notation when acquiring mutexes
Input: bu21029_ts - use guard notation when acquiring mutex
Input: chipone_icn8318 - use guard notation when acquiring mutex
Input: cyttsp - use guard notation when acquiring mutex
Input: edt-ft5x06 - use guard notation when acquiring mutex
Input: eeti_ts - use guard notation when acquiring mutexes
Input: ektf2127 - use guard notation when acquiring mutex
Input: elants_i2c - switch to using cleanup facilities
Input: elo - use guard notation when acquiring mutex
Input: exc3000 - use guard notation when acquiring mutex
Input: goodix - switch to using cleanup functions in firmware code
Input: hideep - switch to using cleanup functions
Input: hycon-hy46xx - use guard notation when acquiring mutex
Input: imagis - use guard notation when acquiring mutex
Input: imx6ul_tsc - use guard notation when acquiring mutex
Input: ipaq-micro-ts - use guard notation when acquiring mutex/spinlock
Input: iqs5xx - switch to using cleanup functions
Input: iqs5xx - simplify parsing of firmware blob
Input: iqs7211 - use cleanup facility for fwnodes
Input: lpc32xx_ts - use guard notation when acquiring mutex
Input: melfas_mip4 - switch to using cleanup functions
Input: mk712 - use guard notation when acquiring spinlock
Input: mms114 - use guard notation when acquiring mutex
Input: msg2638 - use guard notation when acquiring mutex
Input: mxs-lradc-ts - use guard notation when acquiring spinlock
Input: novatek-nvt-ts - use guard notation when acquiring mutex
Input: pixcir_i2c_ts - use guard notation when acquiring mutex
Input: raydium_i2c_ts - switch to using cleanup functions
Input: stmfts - use guard notation when acquiring mutex
Input: sur40 - use guard notation when acquiring spinlock
Input: sx8654 - use guard notation when acquiring spinlock
Input: sx8654 - use IRQF_NOAUTOEN when requesting interrupt
Input: tsc2007 - use guard notation when acquiring mutexes
Input: wdt87xx_i2c - switch to using cleanup functions
Input: wm97xx - use guard notation when acquiring mutex
Input: zinitix - use guard notation when acquiring mutex
Input: inport - remove driver
Input: logibm - remove driver
Input: mk712 - remove driver
Input: ct82c710 - remove driver
Input: edt-ft5x06 - fix use-after-free in debugfs teardown

Duoming Zhou (1):
Input: psmouse - replace flush_workqueue() with disable_delayed_work_sync()

Eduard Bostina (1):
dt-bindings: input: touchscreen: Convert TS-4800 to DT schema

Elliot Tester (1):
Input: xpad - remove stale TODO and changelog header

Ethan Carter Edwards (1):
Input: imx_keypad - fix spelling mistake "Colums" -> "Columns"

Fabio Baltieri (2):
Input: export input_default_setkeycode
Input: cros_ec_keyb - add function key support

Griffin Kroah-Hartman (3):
Input: aw86927 - respect vibration magnitude levels
dt-bindings: input: awinic,aw86927: Add Awinic AW86938
Input: aw86927 - add support for Awinic AW86938

Hugo Villeneuve (5):
dt-bindings: input: matrix-keymap: fix key board wording
dt-bindings: input: add debounce-delay-ms common property
dt-bindings: input: add settling-time-us common property
dt-bindings: input: add GPIO charlieplex keypad
Input: charlieplex_keypad - add GPIO charlieplex keypad

Johan Hovold (4):
Input: keyspan-remote - refactor endpoint lookup
Input: appletouch - refactor endpoint lookup
Input: synaptics_usb - refactor endpoint lookup
Input: usbtouchscreen - refactor endpoint lookup

Langyan Ye (2):
dt-bindings: input: Add Parade TC3408 touchscreen controller
HID: i2c-hid: elan: Add parade-tc3408 timing

Marek Vasut (1):
dt-bindings: touchscreen: trivial-touch: Move allOf: after required:

Max Brener (1):
Input: libps2 - embed WARN_ON(1) macros into their enclosing if statements

Michael Tretter (2):
Input: st1232 - read firmware version and revision
Input: st1232 - expose firmware version via sysfs

Oliver Neukum (2):
Input: aiptek - use HID headers
Input: pegasus_notetaker - use HID defines

Pengpeng Hou (2):
Input: gf2k - skip invalid hat lookup values
Input: aiptek - validate raw macro indices before updating state

Rafael J. Wysocki (1):
Input: atlas - convert ACPI driver to a platform one

Sanjay Govind (1):
Input: xpad - add RedOctane Games vendor id

Seungjin Bae (1):
Input: ims-pcu - fix heap-buffer-overflow in ims_pcu_process_data()

Thorsten Blum (3):
Input: adxl34x - drop redundant error variable in adxl34x_i2c_probe
Input: qt1050 - inline i2c_check_functionality check
Input: qt1070 - inline i2c_check_functionality check

Val Packett (1):
Input: goodix-berlin - report a resolution of 10 units/mm

Yauhen Kharuzhy (5):
Input: drv260x - add I2C IDs for all device variants
Input: drv260x - sort all #include alphabetically
Input: drv260x - add support for ACPI-enumerated devices
Input: drv260x - handle calibration timeout
Input: drv260x - fix unbalanced regulator_disable() call

bui duc phuc (2):
dt-bindings: input: touchscreen: sitronix,st1232: Add wakeup-source
Input: mpr121 - drop redundant wakeup handling

Diffstat:
--------

.../bindings/auxdisplay/holtek,ht16k33.yaml | 5 +-
.../devicetree/bindings/input/awinic,aw86927.yaml | 7 +-
.../bindings/input/cirrus,ep9307-keypad.yaml | 7 +-
.../bindings/input/gpio-charlieplex-keypad.yaml | 108 ++
.../bindings/input/gpio-matrix-keypad.yaml | 5 +-
Documentation/devicetree/bindings/input/input.yaml | 16 +
.../devicetree/bindings/input/matrix-keymap.yaml | 4 +-
.../bindings/input/mediatek,mt6779-keypad.yaml | 1 +
.../devicetree/bindings/input/parade,tc3408.yaml | 68 ++
.../bindings/input/touchscreen/edt-ft5x06.yaml | 30 +-
.../input/touchscreen/sitronix,st1232.yaml | 4 +
.../input/touchscreen/technologic,ts4800-ts.yaml | 42 +
.../bindings/input/touchscreen/trivial-touch.yaml | 6 +-
.../bindings/input/touchscreen/ts4800-ts.txt | 11 -
.../devicetree/bindings/mfd/fsl,mc13xxx.yaml | 2 -
MAINTAINERS | 7 +
drivers/hid/i2c-hid/i2c-hid-of-elan.c | 8 +
drivers/input/input.c | 23 +-
drivers/input/joystick/gf2k.c | 6 +-
drivers/input/joystick/xpad.c | 35 +-
drivers/input/keyboard/Kconfig | 14 +
drivers/input/keyboard/Makefile | 1 +
drivers/input/keyboard/atkbd.c | 133 ++-
drivers/input/keyboard/charlieplex_keypad.c | 232 +++++
drivers/input/keyboard/cros_ec_keyb.c | 261 +++--
drivers/input/keyboard/imx_keypad.c | 4 +-
drivers/input/keyboard/mpr121_touchkey.c | 8 -
drivers/input/keyboard/qt1050.c | 3 +-
drivers/input/keyboard/qt1070.c | 3 +-
drivers/input/misc/adxl34x-i2c.c | 5 +-
drivers/input/misc/atlas_btns.c | 22 +-
drivers/input/misc/aw86927.c | 66 +-
drivers/input/misc/drv260x.c | 50 +-
drivers/input/misc/ims-pcu.c | 32 +-
drivers/input/misc/keyspan_remote.c | 22 +-
drivers/input/mouse/Kconfig | 36 -
drivers/input/mouse/Makefile | 3 -
drivers/input/mouse/alps.c | 11 +-
drivers/input/mouse/alps.h | 4 +-
drivers/input/mouse/appletouch.c | 21 +-
drivers/input/mouse/hgpk.c | 1063 --------------------
drivers/input/mouse/hgpk.h | 61 --
drivers/input/mouse/inport.c | 177 ----
drivers/input/mouse/logibm.c | 166 ---
drivers/input/mouse/psmouse-base.c | 51 +-
drivers/input/mouse/psmouse.h | 6 +-
drivers/input/mouse/synaptics_usb.c | 23 +-
drivers/input/serio/Kconfig | 13 -
drivers/input/serio/Makefile | 1 -
drivers/input/serio/ct82c710.c | 239 -----
drivers/input/serio/libps2.c | 12 +-
drivers/input/tablet/aiptek.c | 20 +-
drivers/input/tablet/pegasus_notetaker.c | 7 +-
drivers/input/touchscreen/Kconfig | 12 -
drivers/input/touchscreen/Makefile | 1 -
drivers/input/touchscreen/ad7877.c | 32 +-
drivers/input/touchscreen/ad7879.c | 46 +-
drivers/input/touchscreen/ads7846.c | 44 +-
drivers/input/touchscreen/atmel_mxt_ts.c | 290 +++---
drivers/input/touchscreen/auo-pixcir-ts.c | 43 +-
drivers/input/touchscreen/bu21029_ts.c | 8 +-
drivers/input/touchscreen/chipone_icn8318.c | 8 +-
drivers/input/touchscreen/cyttsp_core.c | 20 +-
drivers/input/touchscreen/edt-ft5x06.c | 90 +-
drivers/input/touchscreen/eeti_ts.c | 27 +-
drivers/input/touchscreen/ektf2127.c | 8 +-
drivers/input/touchscreen/elants_i2c.c | 91 +-
drivers/input/touchscreen/elo.c | 32 +-
drivers/input/touchscreen/exc3000.c | 31 +-
drivers/input/touchscreen/goodix_berlin_core.c | 8 +
drivers/input/touchscreen/goodix_fwupload.c | 29 +-
drivers/input/touchscreen/hideep.c | 54 +-
drivers/input/touchscreen/hycon-hy46xx.c | 31 +-
drivers/input/touchscreen/imagis.c | 30 +-
drivers/input/touchscreen/imx6ul_tsc.c | 19 +-
drivers/input/touchscreen/ipaq-micro-ts.c | 8 +-
drivers/input/touchscreen/iqs5xx.c | 190 ++--
drivers/input/touchscreen/iqs7211.c | 24 +-
drivers/input/touchscreen/lpc32xx_ts.c | 8 +-
drivers/input/touchscreen/melfas_mip4.c | 121 +--
drivers/input/touchscreen/mk712.c | 215 ----
drivers/input/touchscreen/mms114.c | 20 +-
drivers/input/touchscreen/msg2638.c | 19 +-
drivers/input/touchscreen/mxs-lradc-ts.c | 7 +-
drivers/input/touchscreen/novatek-nvt-ts.c | 8 +-
drivers/input/touchscreen/pixcir_i2c_ts.c | 38 +-
drivers/input/touchscreen/raydium_i2c_ts.c | 56 +-
drivers/input/touchscreen/st1232.c | 67 +-
drivers/input/touchscreen/stmfts.c | 63 +-
drivers/input/touchscreen/sur40.c | 23 +-
drivers/input/touchscreen/sx8654.c | 20 +-
drivers/input/touchscreen/tsc2007_core.c | 7 +-
drivers/input/touchscreen/tsc2007_iio.c | 9 +-
drivers/input/touchscreen/usbtouchscreen.c | 43 +-
drivers/input/touchscreen/wdt87xx_i2c.c | 44 +-
drivers/input/touchscreen/wm97xx-core.c | 57 +-
drivers/input/touchscreen/zinitix.c | 19 +-
include/linux/input.h | 4 +
98 files changed, 1815 insertions(+), 3374 deletions(-)
create mode 100644 Documentation/devicetree/bindings/input/gpio-charlieplex-keypad.yaml
create mode 100644 Documentation/devicetree/bindings/input/parade,tc3408.yaml
create mode 100644 Documentation/devicetree/bindings/input/touchscreen/technologic,ts4800-ts.yaml
delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/ts4800-ts.txt
create mode 100644 drivers/input/keyboard/charlieplex_keypad.c
delete mode 100644 drivers/input/mouse/hgpk.c
delete mode 100644 drivers/input/mouse/hgpk.h
delete mode 100644 drivers/input/mouse/inport.c
delete mode 100644 drivers/input/mouse/logibm.c
delete mode 100644 drivers/input/serio/ct82c710.c
delete mode 100644 drivers/input/touchscreen/mk712.c

Thanks.

--
Dmitry