[PATCH 0/3] HID: wiimote: new LED behavior on connect, and scoped guards
From: Rafael Passos <hidden>
Date: 2026-07-10 15:35:29
Hi, This patchset contains one feature change, and two cleanup patches. The feature is turning different LEDs for each of the first 4 wiimotes connected. From id 5 forward, the LED will cycle back to 1, and so on. This uses the ida struct, so its quite simple and lightweight. The hid_info log message prints out the controller id. I was considering adding this number to the controller name too, but was unsure if this could impact applications using it. While implementing this feature, I decided to cleanup the code using scoped_guard for the many spinlocks in the driver. There are two places where the original lock/unlock version fits best, and I left them untouched. Lastly, I used the __free scope cleanup in the LED probe function. The wiimote_hid_probe call can also be changed in this way, but I left it because it uses the wiimote_destroy in one of the err cases (w/ kfree inside). But I can apply the change there too, to make this more complete. It was really fun working with this driver. I tested it with 4 Wii Motion Plus remotes (gen2). Video recording of my tests (48s video). https://rcpassos.me/video/wiimote-led-linux-driver Thanks, Rafael Passos Rafael Passos (3): HID: wiimote: turn on the LEDs indicating the controller id HID: wiimote: replace spinlock pairs with scoped_guard HID: wiimote: use scoped cleanup in led creation drivers/hid/hid-wiimote-core.c | 252 ++++++++++++++++-------------- drivers/hid/hid-wiimote-debug.c | 41 ++--- drivers/hid/hid-wiimote-modules.c | 22 ++- drivers/hid/hid-wiimote.h | 8 + 4 files changed, 165 insertions(+), 158 deletions(-) -- 2.53.0