Re: [PATCH] Enable backlight when trigger is activated

From: Jacek Anaszewski
Date: Wed Jul 24 2019 - 17:16:47 EST


On 7/24/19 10:33 AM, Pavel Machek wrote:
> Hi!
>
>>>>> +++ b/drivers/leds/trigger/ledtrig-backlight.c
>>>>> @@ -114,6 +114,8 @@ static int bl_trig_activate(struct led_classdev *led)
>>>>> n->old_status = UNBLANK;
>>>>> n->notifier.notifier_call = fb_notifier_callback;
>>>>>
>>>>> + led_set_brightness(led, LED_ON);
>>>>> +
>>>>
>>>> This looks fishy.
>>>>
>>>> Maybe you should use a default-state = "keep" instead? (and you'll have
>>>> to support it in the LED driver).
>>>>
>>>> That'll give you proper "don't touch the LED if it was turned on" behavior,
>>>> which is what you seem to want.
>>>
>>> Actually no, that's not what I want. LED should go on if the display
>>> is active, as soon as trigger is activated.
>>>
>>> Unfortunately, I have see no good way to tell if the display is
>>> active (and display is usually active when trigger is activated).
>>
>> default-state DT property can be also set to "on"
>> (see Documentation/devicetree/bindings/leds/common.txt).
>
> Yes, except that it does not work with all drivers :-(. In particular,
> it does not work with lm3532.
>
> We should really move more of the device tree parsing into core, so
> that there's one place to fix...

Right. We could have something similar to led_get_default_pattern().
led_get_default_state() ?

--
Best regards,
Jacek Anaszewski