Skip to content

Commit d97e7d7

Browse files
committed
Merge tag 'hid-for-linus-2026041601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID updates from Jiri Kosina: "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 rumble 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" * tag 'hid-for-linus-2026041601' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (73 commits) HID: core: clamp report_size in s32ton() to avoid undefined shift HID: logitech-dj: fix wrong detection of bad DJ_SHORT output report HID: logitech-hidpp: fix race condition when accessing stale stack pointer HID: winwing: Enable rumble effects HID: core: do not allow parsing 0-sized reports HID: usbhid: refactor endpoint lookup HID: huawei: fix CD30 keyboard report descriptor issue HID: playstation: validate num_touch_reports in DualShock 4 reports HID: drop 'default !EXPERT' from tristate symbols HID: usbhid: fix deadlock in hid_post_reset() HID: apple: ensure the keyboard backlight is off if suspending HID: quirks: Set ALWAYS_POLL for LOGITECH_BOLT_RECEIVER HID: alps: fix NULL pointer dereference in alps_raw_event() HID: logitech-dj: Prevent REPORT_ID_DJ_SHORT related user initiated OOB write HID: logitech-dj: Standardise hid_report_enum variable nomenclature HID: sony: update module description HID: logitech-hidpp: Check bounds when deleting force-feedback effects HID: sony: add battery status support for Rock Band 4 PS5 guitars HID: sony: fix style issues HID: quirks: update hid-sony supported devices ...
2 parents 8776858 + b8a5774 commit d97e7d7

43 files changed

Lines changed: 10173 additions & 497 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/ABI/testing/sysfs-driver-hid-lenovo-go

Lines changed: 724 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 304 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,304 @@
1+
What: /sys/class/leds/go_s:rgb:joystick_rings/effect
2+
Date: April 2026
3+
Contact: linux-input@vger.kernel.org
4+
Description: This controls the display effect of the RGB interface.
5+
6+
Values are monocolor, breathe, chroma, or rainbow.
7+
8+
Applies to Lenovo Legion Go S line of handheld devices.
9+
10+
What: /sys/class/leds/go_s:rgb:joystick_rings/effect_index
11+
Date: April 2026
12+
Contact: linux-input@vger.kernel.org
13+
Description: This displays the available options for the effect attribute.
14+
15+
Values are monocolor, breathe, chroma, or rainbow.
16+
17+
Applies to Lenovo Legion Go S line of handheld devices.
18+
19+
What: /sys/class/leds/go_s:rgb:joystick_rings/enabled
20+
Date: April 2026
21+
Contact: linux-input@vger.kernel.org
22+
Description: This controls enabling or disabling the RGB interface.
23+
24+
Values are true or false.
25+
26+
Applies to Lenovo Legion Go S line of handheld devices.
27+
28+
What: /sys/class/leds/go_s:rgb:joystick_rings/enabled_index
29+
Date: April 2026
30+
Contact: linux-input@vger.kernel.org
31+
Description: This displays the available options for the enabled attribute.
32+
33+
Values are true or false.
34+
35+
Applies to Lenovo Legion Go S line of handheld devices.
36+
37+
What: /sys/class/leds/go_s:rgb:joystick_rings/mode
38+
Date: April 2026
39+
Contact: linux-input@vger.kernel.org
40+
Description: This controls the operating mode of the RGB interface.
41+
42+
Values are dynamic or custom. Custom allows setting the RGB effect and color.
43+
Dynamic is a Windows mode for syncing Lenovo RGB interfaces not currently
44+
supported under Linux.
45+
46+
Applies to Lenovo Legion Go S line of handheld devices.
47+
48+
What: /sys/class/leds/go_s:rgb:joystick_rings/mode_index
49+
Date: April 2026
50+
Contact: linux-input@vger.kernel.org
51+
Description: This displays the available options for the mode attribute.
52+
53+
Values are dynamic or custom.
54+
55+
Applies to Lenovo Legion Go S line of handheld devices.
56+
57+
What: /sys/class/leds/go_s:rgb:joystick_rings/profile
58+
Date: April 2026
59+
Contact: linux-input@vger.kernel.org
60+
Description: This controls selecting the configured RGB profile.
61+
62+
Values are 1-3.
63+
64+
Applies to Lenovo Legion Go S line of handheld devices.
65+
66+
What: /sys/class/leds/go_s:rgb:joystick_rings/profile_range
67+
Date: April 2026
68+
Contact: linux-input@vger.kernel.org
69+
Description: This displays the available options for the profile attribute.
70+
71+
Values are 1-3.
72+
73+
Applies to Lenovo Legion Go S line of handheld devices.
74+
75+
What: /sys/class/leds/go_s:rgb:joystick_rings/speed
76+
Date: April 2026
77+
Contact: linux-input@vger.kernel.org
78+
Description: This controls the change rate for the breathe, chroma, and rainbow effects.
79+
80+
Values are 0-100.
81+
82+
Applies to Lenovo Legion Go S line of handheld devices.
83+
84+
What: /sys/class/leds/go_s:rgb:joystick_rings/speed_range
85+
Date: April 2026
86+
Contact: linux-input@vger.kernel.org
87+
Description: This displays the available options for the speed attribute.
88+
89+
Values are 0-100.
90+
91+
Applies to Lenovo Legion Go S line of handheld devices.
92+
93+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/auto_sleep_time
94+
Date: April 2026
95+
Contact: linux-input@vger.kernel.org
96+
Description: This controls the sleep timer due to inactivity for the built-in controller.
97+
98+
Values are 0-255.
99+
100+
Applies to Lenovo Legion Go S line of handheld devices.
101+
102+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/auto_sleep_time_range
103+
Date: April 2026
104+
Contact: linux-input@vger.kernel.org
105+
Description: This displays the available options for the gamepad/auto_sleep_time attribute.
106+
107+
Values are 0-255.
108+
109+
Applies to Lenovo Legion Go S line of handheld devices.
110+
111+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/dpad_mode
112+
Date: April 2026
113+
Contact: linux-input@vger.kernel.org
114+
Description: This controls the operating mode of the built-in controllers D-pad.
115+
116+
Values are 4-way or 8-way.
117+
118+
Applies to Lenovo Legion Go S line of handheld devices.
119+
120+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/dpad_mode_index
121+
Date: April 2026
122+
Contact: linux-input@vger.kernel.org
123+
Description: This displays the available options for the gamepad/dpad_mode attribute.
124+
125+
Values are 4-way or 8-way.
126+
127+
Applies to Lenovo Legion Go S line of handheld devices.
128+
129+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/mode
130+
Date: April 2026
131+
Contact: linux-input@vger.kernel.org
132+
Description: This controls the operating mode of the built-in controller.
133+
134+
Values are xinput or dinput.
135+
136+
Applies to Lenovo Legion Go S line of handheld devices.
137+
138+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/mode_index
139+
Date: April 2026
140+
Contact: linux-input@vger.kernel.org
141+
Description: This displays the available options for the gamepad/mode attribute.
142+
143+
Values are xinput or dinput.
144+
145+
Applies to Lenovo Legion Go S line of handheld devices.
146+
147+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/poll_rate
148+
Date: April 2026
149+
Contact: linux-input@vger.kernel.org
150+
Description: This controls the poll rate in Hz of the built-in controller.
151+
152+
Values are 125, 250, 500, or 1000.
153+
154+
Applies to Lenovo Legion Go S line of handheld devices.
155+
156+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/gamepad/poll_rate_index
157+
Date: April 2026
158+
Contact: linux-input@vger.kernel.org
159+
Description: This displays the available options for the gamepad/poll_rate attribute.
160+
161+
Values are 125, 250, 500, or 1000.
162+
163+
Applies to Lenovo Legion Go S line of handheld devices.
164+
165+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/bypass_enabled
166+
Date: April 2026
167+
Contact: linux-input@vger.kernel.org
168+
Description: This controls enabling or disabling the IMU bypass function. When enabled the IMU data is directly reported to the OS through
169+
an HIDRAW interface.
170+
171+
Values are true or false.
172+
173+
Applies to Lenovo Legion Go S line of handheld devices.
174+
175+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/bypass_enabled_index
176+
Date: April 2026
177+
Contact: linux-input@vger.kernel.org
178+
Description: This displays the available options for the imu/bypass_enabled attribute.
179+
180+
Values are true or false.
181+
182+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/manufacturer
183+
Date: April 2026
184+
Contact: linux-input@vger.kernel.org
185+
Description: This displays the manufacturer of the intertial measurment unit.
186+
187+
Values are Bosch or ST.
188+
189+
Applies to Lenovo Legion Go S line of handheld devices.
190+
191+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/sensor_enabled
192+
Date: April 2026
193+
Contact: linux-input@vger.kernel.org
194+
Description: This controls enabling or disabling the IMU.
195+
196+
Values are true, false, or wake-2s.
197+
198+
Applies to Lenovo Legion Go S line of handheld devices.
199+
200+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/imu/sensor_enabled_index
201+
Date: April 2026
202+
Contact: linux-input@vger.kernel.org
203+
Description: This displays the available options for the imu/sensor_enabled attribute.
204+
205+
Values are true, false, or wake-2s.
206+
207+
Applies to Lenovo Legion Go S line of handheld devices.
208+
209+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mcu_id
210+
Date: April 2026
211+
Contact: linux-input@vger.kernel.org
212+
Description: This displays the MCU Identification Number
213+
214+
Applies to Lenovo Legion Go S line of handheld devices.
215+
216+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mouse/step
217+
Date: April 2026
218+
Contact: linux-input@vger.kernel.org
219+
Description: This controls which value is used for the mouse sensitivity.
220+
221+
Values are 1-127.
222+
223+
Applies to Lenovo Legion Go S line of handheld devices.
224+
225+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/mouse/step_range
226+
Date: April 2026
227+
Contact: linux-input@vger.kernel.org
228+
Description: This displays the available options for the mouse/step attribute.
229+
230+
Values are 1-127.
231+
232+
Applies to Lenovo Legion Go S line of handheld devices.
233+
234+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/os_mode
235+
Date: April 2026
236+
Contact: linux-input@vger.kernel.org
237+
Description: This controls which value is used for the touchpads operating mode.
238+
239+
Values are windows or linux.
240+
241+
Applies to Lenovo Legion Go S line of handheld devices.
242+
243+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/os_mode_index
244+
Date: April 2026
245+
Contact: linux-input@vger.kernel.org
246+
Description: This displays the available options for the os_mode attribute.
247+
248+
Values are windows or linux.
249+
250+
Applies to Lenovo Legion Go S line of handheld devices.
251+
252+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/enabled
253+
Date: April 2026
254+
Contact: linux-input@vger.kernel.org
255+
Description: This controls enabling or disabling the built-in touchpad.
256+
257+
Values are true or false.
258+
259+
Applies to Lenovo Legion Go S line of handheld devices.
260+
261+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/enabled_index
262+
Date: April 2026
263+
Contact: linux-input@vger.kernel.org
264+
Description: This displays the available options for the touchpad/enabled attribute.
265+
266+
Values are true or false.
267+
268+
Applies to Lenovo Legion Go S line of handheld devices.
269+
270+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/linux_mode
271+
Date: April 2026
272+
Contact: linux-input@vger.kernel.org
273+
Description: This controls behavior of the touchpad events when os_mode is set to linux.
274+
275+
Values are absolute or relative.
276+
277+
Applies to Lenovo Legion Go S line of handheld devices.
278+
279+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/linux_mode_index
280+
Date: April 2026
281+
Contact: linux-input@vger.kernel.org
282+
Description: This displays the available options for the touchpad/linux_mode attribute.
283+
284+
Values are absolute or relative.
285+
286+
Applies to Lenovo Legion Go S line of handheld devices.
287+
288+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/windows_mode
289+
Date: April 2026
290+
Contact: linux-input@vger.kernel.org
291+
Description: This controls behavior of the touchpad events when os_mode is set to windows.
292+
293+
Values are absolute or relative.
294+
295+
Applies to Lenovo Legion Go S line of handheld devices.
296+
297+
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/touchpad/windows_mode_index
298+
Date: April 2026
299+
Contact: linux-input@vger.kernel.org
300+
Description: This displays the available options for the touchpad/windows_mode attribute.
301+
302+
Values are absolute or relative.
303+
304+
Applies to Lenovo Legion Go S line of handheld devices.

MAINTAINERS

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11432,14 +11432,6 @@ F: drivers/hid/hid-sensor-*
1143211432
F: drivers/iio/*/hid-*
1143311433
F: include/linux/hid-sensor-*
1143411434

11435-
HID UNIVERSAL PIDFF DRIVER
11436-
M: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
11437-
M: Oleg Makarenko <oleg@makarenk.ooo>
11438-
L: linux-input@vger.kernel.org
11439-
S: Maintained
11440-
B: https://github.com/JacKeTUs/universal-pidff/issues
11441-
F: drivers/hid/hid-universal-pidff.c
11442-
1144311435
HID VRC-2 CAR CONTROLLER DRIVER
1144411436
M: Marcus Folkesson <marcus.folkesson@gmail.com>
1144511437
L: linux-input@vger.kernel.org
@@ -14555,6 +14547,17 @@ L: platform-driver-x86@vger.kernel.org
1455514547
S: Maintained
1455614548
F: drivers/platform/x86/lenovo/wmi-hotkey-utilities.c
1455714549

14550+
LENOVO HID drivers
14551+
M: Derek J. Clark <derekjohn.clark@gmail.com>
14552+
M: Mark Pearson <mpearson-lenovo@squebb.ca>
14553+
L: linux-input@vger.kernel.org
14554+
S: Maintained
14555+
F: Documentation/ABI/testing/sysfs-driver-hid-lenovo-go
14556+
F: Documentation/ABI/testing/sysfs-driver-hid-lenovo-go-s
14557+
F: drivers/hid/hid-lenovo-go-s.c
14558+
F: drivers/hid/hid-lenovo-go.c
14559+
F: drivers/hid/hid-lenovo.c
14560+
1455814561
LETSKETCH HID TABLET DRIVER
1455914562
M: Hans de Goede <hansg@kernel.org>
1456014563
L: linux-input@vger.kernel.org
@@ -27492,6 +27495,15 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
2749227495
F: Documentation/hid/hiddev.rst
2749327496
F: drivers/hid/usbhid/
2749427497

27498+
USB HID PID DRIVERS (USB WHEELBASES, JOYSTICKS, RUDDERS, ...)
27499+
M: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
27500+
M: Oleg Makarenko <oleg@makarenk.ooo>
27501+
L: linux-input@vger.kernel.org
27502+
S: Maintained
27503+
B: https://github.com/JacKeTUs/universal-pidff/issues
27504+
F: drivers/hid/usbhid/hid-pidff*
27505+
F: drivers/hid/hid-universal-pidff.c
27506+
2749527507
USB INTEL XHCI ROLE MUX DRIVER
2749627508
M: Hans de Goede <hansg@kernel.org>
2749727509
L: linux-usb@vger.kernel.org

0 commit comments

Comments
 (0)