[GIT PULL] HID susbsytem queue for 7.1

From: Jiri Kosina

Date: Thu Apr 16 2026 - 15:23:51 EST


Linus,

please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git tags/hid-for-linus-2026041601

to receive HID susbsytem queue for 7.1 merge window, namely:

=====
Core:
- fixed handling of 0-sized reports (Dmitry Torokhov)
- convert core code to __free() (Dmitry Torokhov)
- support for multiple batteries per HID device (Lucas Zampieri)

Drivers:
- support for rubmle effects in winwing driver (Ivan Gorinov)
- new support for a variety of Sony Rock Band and Sony DJ Hero Turntable
devices (Rosalie Wanders)
- new driver for Lenovo Legion Go / S devices (Derek J. Clark)
- power management improvements to intel-thc-hid driver (Even Xu)

- other assorted cleanups, fixes and device-specific quirks
=====

Thanks.

----------------------------------------------------------------
Aditya Garg (1):
HID: apple: ensure the keyboard backlight is off if suspending

Arnd Bergmann (1):
HID: hid-lenovo-go: fix LEDS dependencies

Benjamin Tissoires (7):
HID: asus: drop unused variables
HID: bpf: hid_bpf_helpers: provide a cleanup functions
HID: bpf: handle injected report descriptor in HID-BPF
hid: bpf: hid_bpf_helpers: add helper for having read/write udev properties
HID: bpf: add a BPF to get the touchpad type
HID: bpf: Add support for the Huion KeyDial K20 over bluetooth
HID: logitech-dj: fix wrong detection of bad DJ_SHORT output report

Benoît Sevens (2):
HID: playstation: validate num_touch_reports in DualShock 4 reports
HID: logitech-hidpp: fix race condition when accessing stale stack pointer

Chen Ni (2):
HID: hid-lenovo-go-s: Remove unneeded semicolon
HID: hid-lenovo-go: Remove unneeded semicolon

Colin Ian King (2):
HID: hid-lenovo-go-s: Fix spelling mistake "configuratiion" -> "configuration"
HID: mcp2221: Fix spelling mistake "Enfore" -> "Enforce"

Denis Benato (6):
HID: asus: always fully initialize devices
HID: asus: fix code style of comments and brackets
HID: asus: make asus_resume adhere to linux kernel coding standards
HID: asus: simplify and improve asus_kbd_set_report()
HID: asus: do not abort probe when not necessary
HID: asus: do not try to initialize the backlight if the enpoint doesn't support it

Derek J. Clark (15):
include: device.h: Add named device attributes
HID: hid-lenovo-go: Add Lenovo Legion Go Series HID Driver
HID: hid-lenovo-go: Add Feature Status Attributes
HID: hid-lenovo-go: Add Rumble and Haptic Settings
HID: hid-lenovo-go: Add FPS Mode DPI settings
HID: hid-lenovo-go: Add RGB LED control interface
HID: hid-lenovo-go: Add Calibration Settings
HID: hid-lenovo-go: Add OS Mode Toggle
HID: hid-lenovo-go-s: Add Lenovo Legion Go S Series HID Driver
HID: hid-lenovo-go-s: Add MCU ID Attribute
HID: hid-lenovo-go-s: Add Feature Status Attributes
HID: hid-lenovo-go-s: Add Touchpad Mode Attributes
HID: hid-lenovo-go-s: Add RGB LED control interface
HID: hid-lenovo-go-s: Add IMU and Touchpad RO Attributes
HID: Add documentation for Lenovo Legion Go drivers

Dmitry Torokhov (4):
HID: input: use __free(kfree) to clean up temporary buffers
HID: core: factor out hid_parse_collections()
HID: core: use __free(kfree) and __free(kvfree) to clean up temporary buffers
HID: core: do not allow parsing 0-sized reports

Even Xu (2):
HID: intel-thc-hid: Intel-quickspi: Improve power management for touch devices
HID: intel-thc-hid: Intel-thc: Add more frequency support for SPI

Greg Kroah-Hartman (2):
HID: alps: fix NULL pointer dereference in alps_raw_event()
HID: core: clamp report_size in s32ton() to avoid undefined shift

Günther Noack (1):
HID: logitech-hidpp: Check bounds when deleting force-feedback effects

Ivan Gorinov (1):
HID: winwing: Enable rumble effects

Johan Hovold (1):
HID: usbhid: refactor endpoint lookup

Lee Jones (2):
HID: logitech-dj: Standardise hid_report_enum variable nomenclature
HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT related user initiated OOB write

Linus Walleij (1):
HID: mcp2221: Add module parameter to enfoce GPIO mode

Lucas Zampieri (3):
HID: input: Convert battery code to devm_*
HID: input: Introduce struct hid_battery and refactor battery code
HID: input: Add support for multiple batteries per device

Mario Limonciello (1):
HID: Include firmware version in the uevent

Miao Li (1):
HID: huawei: fix CD30 keyboard report descriptor issue

Nícolas F. R. A. Prado (1):
HID: quirks: Set ALWAYS_POLL for LOGITECH_BOLT_RECEIVER

Oliver Neukum (2):
HID: pl: eliminate private debug macro
HID: usbhid: fix deadlock in hid_post_reset()

Peter Hutterer (2):
HID: bpf: fix some signed vs unsigned compiler warnings
HID: bpf: add helper macros for LE/BE conversion

Romain Sioen (1):
HID: mcp2221: use mcp_i2c_smbus_read for block reads

Rosalie Wanders (5):
HID: sony: add support for more instruments
HID: quirks: update hid-sony supported devices
HID: sony: fix style issues
HID: sony: add battery status support for Rock Band 4 PS5 guitars
HID: sony: update module description

Thomas Weißschuh (1):
HID: drop 'default !EXPERT' from tristate symbols

Tomasz Pakuła (5):
HID: pidff: Refactor field quirks detection
HID: pidff: Add MISSING_NEG_COEFFICIENT quirk
HID: pidff: Add MISSING_NEG_SATURATION quirk
HID: pidff: Add MISSING_DEADBAND quirk
HID: Update MAINTAINERS for USB HID PID

muhammed Rishal (1):
bpf: Add fix for Trust Philips SPK6327 (145f:024b) modifier keys

.../ABI/testing/sysfs-driver-hid-lenovo-go | 724 +++++
.../ABI/testing/sysfs-driver-hid-lenovo-go-s | 304 +++
MAINTAINERS | 28 +-
drivers/hid/Kconfig | 57 +-
drivers/hid/Makefile | 3 +
drivers/hid/bpf/progs/Generic__touchpad.bpf.c | 90 +
.../bpf/progs/Huion__KeydialK20-Bluetooth.bpf.c | 492 ++++
drivers/hid/bpf/progs/Huion__KeydialK20.bpf.c | 3 +-
.../hid/bpf/progs/IOGEAR__Kaliber-MMOmentum.bpf.c | 2 +-
drivers/hid/bpf/progs/Trust__Philips-SPK6327.bpf.c | 49 +
drivers/hid/bpf/progs/Wacom__ArtPen.bpf.c | 2 +-
drivers/hid/bpf/progs/XPPen__DecoMini4.bpf.c | 2 +-
drivers/hid/bpf/progs/hid_bpf_async.h | 36 +-
drivers/hid/bpf/progs/hid_bpf_helpers.h | 321 +++
.../hid/bpf/progs/hid_report_descriptor_helpers.h | 80 +
drivers/hid/bpf/progs/hid_usages.h | 2810 ++++++++++++++++++++
drivers/hid/hid-alps.c | 3 +
drivers/hid/hid-apple.c | 12 +-
drivers/hid/hid-asus.c | 108 +-
drivers/hid/hid-core.c | 206 +-
drivers/hid/hid-huawei.c | 82 +
drivers/hid/hid-ids.h | 36 +-
drivers/hid/hid-input-test.c | 39 +-
drivers/hid/hid-input.c | 210 +-
drivers/hid/hid-lenovo-go-s.c | 1504 +++++++++++
drivers/hid/hid-lenovo-go.c | 2500 +++++++++++++++++
drivers/hid/hid-logitech-dj.c | 23 +-
drivers/hid/hid-logitech-hidpp.c | 39 +-
drivers/hid/hid-magicmouse.c | 10 +-
drivers/hid/hid-mcp2221.c | 36 +-
drivers/hid/hid-pl.c | 12 +-
drivers/hid/hid-playstation.c | 12 +
drivers/hid/hid-quirks.c | 47 +-
drivers/hid/hid-sony.c | 345 ++-
drivers/hid/hid-winwing.c | 196 +-
.../intel-thc-hid/intel-quickspi/pci-quickspi.c | 16 +-
.../hid/intel-thc-hid/intel-thc/intel-thc-dev.c | 47 +
drivers/hid/intel-thc-hid/intel-thc/intel-thc-hw.h | 4 +
drivers/hid/usbhid/hid-core.c | 10 +-
drivers/hid/usbhid/hid-pidff.c | 57 +-
drivers/hid/usbhid/hid-pidff.h | 9 +
include/linux/device.h | 46 +
include/linux/hid.h | 58 +-
43 files changed, 10173 insertions(+), 497 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-lenovo-go
create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-lenovo-go-s
create mode 100644 drivers/hid/bpf/progs/Generic__touchpad.bpf.c
create mode 100644 drivers/hid/bpf/progs/Huion__KeydialK20-Bluetooth.bpf.c
create mode 100644 drivers/hid/bpf/progs/Trust__Philips-SPK6327.bpf.c
create mode 100644 drivers/hid/bpf/progs/hid_report_descriptor_helpers.h
create mode 100644 drivers/hid/bpf/progs/hid_usages.h
create mode 100644 drivers/hid/hid-huawei.c
create mode 100644 drivers/hid/hid-lenovo-go-s.c
create mode 100644 drivers/hid/hid-lenovo-go.c

--
Jiri Kosina
SUSE Labs