Re: [PATCH] leds: trigger/tty: Use led_set_brightness() to support all use cases

From: Pavel Machek
Date: Mon May 03 2021 - 06:16:54 EST


On Mon 2021-05-03 11:25:42, Juergen Borleis wrote:
> Using led_set_brightness_sync() only works for LEDs which are connected
> via some kind of external bus like I²C or SPI. But it doesn't work for
> the simple use case of directly connected LEDs via GPIOs.

Really? I'd need to check.

> Because this function only honors the led_classdev::brightness_set_blocking
> callback. But the LED-GPIO driver registers the
> led_classdev::brightness_set member if the GPIO can be modified directly
> and thus, TTY triggers fail silently with -ENOTSUPP.
>
> With the previously used led_set_brightness() it works for both use cases.
> This function first checks for the simple case where the GPIO can be changed
> without additional overhead, and if it fails, does the modification via a
> workqueue.

Yeah, but that is not what we want. We are already running in the
workqueue.

We really should have a API that can be called from process context,
and just simply sets the brightness.

Best regards,
Pavel
--
http://www.livejournal.com/~pavelmachek

Attachment: signature.asc
Description: Digital signature