led: triggers: Add LED_INIT_DEFAULT_TRIGGER flag
Add the flag LED_INIT_DEFAULT_TRIGGER for indicating that trigger being set is a default trigger for the LED class device, and thus it should be initialized with settings provided in the fwnode. Set the flag in the led_trigger_set_default(). It is expected to be cleared in the activate() op of a trigger after trigger fwnode initialization data is parsed and applied. This should happen only once after LED class device registration, to allow leaving triggers in the idle state on re-apply and let the users apply their own settings without interference from the default ones. Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
This commit is contained in:
parent
c4f7bd4a42
commit
02d31765bb
|
@ -201,6 +201,7 @@ void led_trigger_set_default(struct led_classdev *led_cdev)
|
|||
down_write(&led_cdev->trigger_lock);
|
||||
list_for_each_entry(trig, &trigger_list, next_trig) {
|
||||
if (!strcmp(led_cdev->default_trigger, trig->name)) {
|
||||
led_cdev->flags |= LED_INIT_DEFAULT_TRIGGER;
|
||||
led_trigger_set(led_cdev, trig);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -51,6 +51,7 @@ struct led_classdev {
|
|||
#define LED_PANIC_INDICATOR BIT(20)
|
||||
#define LED_BRIGHT_HW_CHANGED BIT(21)
|
||||
#define LED_RETAIN_AT_SHUTDOWN BIT(22)
|
||||
#define LED_INIT_DEFAULT_TRIGGER BIT(23)
|
||||
|
||||
/* set_brightness_work / blink_timer flags, atomic, private. */
|
||||
unsigned long work_flags;
|
||||
|
|
Loading…
Reference in New Issue