Re: [PATCH] Enable backlight when trigger is activated

From: Jacek Anaszewski
Date: Mon Jul 22 2019 - 16:25:13 EST


Hi Pavel,

On 7/22/19 9:50 AM, Pavel Machek wrote:
> Hi!
>
>>> Configuring backlight trigger from dts results in backlight off during
>>> boot. Machine looks dead upon boot, which is not good.
>>>
>>> Fix that by enabling LED on trigger activation.
>
>>> +++ 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).

You could make use of LED_INIT_DEFAULT_TRIGGER flag and
parse DT property in the activate op. Similar approach has been
applied e.g. in ledtrig-pattern.c.

--
Best regards,
Jacek Anaszewski