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