Re: [PATCH] HID: nintendo: deregister home LED when it fails

From: Daniel Ogorchock
Date: Tue Sep 20 2022 - 18:10:13 EST


On Fri, Apr 15, 2022 at 6:06 AM Icenowy Zheng <icenowy@xxxxxxx> wrote:
>
> Some Pro Controller compatible controllers do not support home LED, and
> will fail when setting it. Currently this leads to probe failure.
>
> Change the code that fails probing to deregistering home LED.
>
> Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx>
> ---
> drivers/hid/hid-nintendo.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hid/hid-nintendo.c b/drivers/hid/hid-nintendo.c
> index 2204de889739..ed93287c3afc 100644
> --- a/drivers/hid/hid-nintendo.c
> +++ b/drivers/hid/hid-nintendo.c
> @@ -1900,9 +1900,8 @@ static int joycon_leds_create(struct joycon_ctlr *ctlr)
> /* Set the home LED to 0 as default state */
> ret = joycon_home_led_brightness_set(led, 0);
> if (ret) {
> - hid_err(hdev, "Failed to set home LED dflt; ret=%d\n",
> - ret);
> - return ret;
> + hid_warn(hdev, "Failed to set home LED dflt, unregistering home LED");
> + devm_led_classdev_unregister(&hdev->dev, led);
> }
> }
>
> --
> 2.35.1
>

Reviewed-by: Daniel J. Ogorchock <djogorchock@xxxxxxxxx>

Thanks for the patch. I haven't done any work to make the driver
compatible with non-official nintendo controllers. I suppose there
aren't many other options for controllers lacking full functionality
other than disabling those functions during probe, as demonstrated
here.

-Daniel