Re: [PATCH] HID: hid-lenovo-go: fix LEDS dependencies
From: Mark Pearson
Date: Wed Mar 25 2026 - 11:09:03 EST
On Tue, Mar 24, 2026, at 3:20 PM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The newly added hid-lenovo-go and hid-lenovo-go-s drivers attempt to
> 'select LEDS_CLASS', which has a dependency on NEW_LEDS, causing a build
> failure when NEW_LEDS itself it disabled:
>
> WARNING: unmet direct dependencies detected for LEDS_CLASS
> Depends on [n]: NEW_LEDS [=n]
> Selected by [m]:
> - HID_LENOVO_GO [=m] && HID_SUPPORT [=y] && HID [=m] && USB_HID [=m]
> - HID_LENOVO_GO_S [=m] && HID_SUPPORT [=y] && HID [=m] && USB_HID [=m]
>
> WARNING: unmet direct dependencies detected for LEDS_CLASS_MULTICOLOR
> Depends on [n]: NEW_LEDS [=n] && LEDS_CLASS [=m]
> Selected by [m]:
> - HID_LENOVO_GO [=m] && HID_SUPPORT [=y] && HID [=m] && USB_HID [=m]
> - HID_LENOVO_GO_S [=m] && HID_SUPPORT [=y] && HID [=m] && USB_HID [=m]
> ERROR: modpost: "led_set_brightness_nopm" [drivers/leds/led-class.ko]
> undefined!
> ERROR: modpost: "led_set_brightness" [drivers/leds/led-class.ko]
> undefined!
> ERROR: modpost: "led_get_color_name"
> [drivers/leds/led-class-multicolor.ko] undefined!
> ERROR: modpost: "led_set_brightness"
> [drivers/leds/led-class-multicolor.ko] undefined!
>
> Device drivers generally should not select other subsystems like this, as
> that tends to cause dependency problems including loops in the dependency
> graph.
>
> Change these two and the older hid-lenovo driver to behave the same way
> as all
> other HID drivers and use 'depends on LEDS_CLASS' or 'depends on
> LEDS_CLASS_MULTICOLOR'
> instead, which itself has NEW_LEDS and LEDS_CLASS as dependencies.
>
> Fixes: a23f3497bf20 ("HID: hid-lenovo-go-s: Add Lenovo Legion Go S
> Series HID Driver")
> Fixes: d69ccfcbc955 ("HID: hid-lenovo-go: Add Lenovo Legion Go Series
> HID Driver")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/hid/Kconfig | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
> index 10c12d8e6557..f658ed0168ea 100644
> --- a/drivers/hid/Kconfig
> +++ b/drivers/hid/Kconfig
> @@ -610,8 +610,7 @@ config HID_LED
>
> config HID_LENOVO
> tristate "Lenovo / Thinkpad devices"
> - select NEW_LEDS
> - select LEDS_CLASS
> + depends on LEDS_CLASS
> help
> Support for IBM/Lenovo devices that are not fully compliant with HID standard.
>
> @@ -626,8 +625,7 @@ config HID_LENOVO
> config HID_LENOVO_GO
> tristate "HID Driver for Lenovo Legion Go Series Controllers"
> depends on USB_HID
> - select LEDS_CLASS
> - select LEDS_CLASS_MULTICOLOR
> + depends on LEDS_CLASS_MULTICOLOR
> help
> Support for Lenovo Legion Go devices with detachable controllers.
>
> @@ -638,8 +636,7 @@ config HID_LENOVO_GO
> config HID_LENOVO_GO_S
> tristate "HID Driver for Lenovo Legion Go S Controller"
> depends on USB_HID
> - select LEDS_CLASS
> - select LEDS_CLASS_MULTICOLOR
> + depends on LEDS_CLASS_MULTICOLOR
> help
> Support for Lenovo Legion Go S Handheld Console Controller.
>
> --
> 2.39.5
Looks good to me.
Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
Mark