Re: [PATCH/RFC RESEND] leds: Use set_brightness_work for brightness_set ops that can sleep

Jacek Anaszewski
2015-06-30T08:27:46Z

On 06/29/2015 05:17 PM, Stas Sergeev wrote:> 29.06.2015 17:05, Jacek
Anaszewski пишет:
>> + * If need to disable soft blinking delegate this to the
>> + * work queue task to avoid problems in case we are
>> + * called from hard irq context.
>> + */
>> + led_cdev->flags |= LED_BLINK_DISABLE;
> Wouldn't it be better to just enforce the callers
> to explicitly disable software blink, so that it to
> never happen from irq context? Something like in this
> patch:
> https://lkml.org/lkml/2015/5/13/491
>

Blinking can be disabled not only by removing trigger explicitly,
but also by setting brightness to 0 and led_set_brightness
can be called from hard irq context. set_brightness_work
was originally introduced exactly for this use case.