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