From: Krzysztof Kozlowski Date: Mon, 10 Dec 2018 09:29:59 +0000 (+0100) Subject: led: triggers: Initialize LED_INIT_DEFAULT_TRIGGER if trigger is brought after class X-Git-Tag: v5.0-rc1~172^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8146aace60c7409cc60a1598bc9647a5bbb12eb4;p=thirdparty%2Flinux.git led: triggers: Initialize LED_INIT_DEFAULT_TRIGGER if trigger is brought after class Trigger driver can be initialized after the LED class device driver. In such case led_trigger_set_default() won't be called and flag LED_INIT_DEFAULT_TRIGGER should be set from led_trigger_register(). Signed-off-by: Krzysztof Kozlowski Signed-off-by: Jacek Anaszewski --- diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index f28ce25d24d00..2d451b6c24af5 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -251,8 +251,10 @@ int led_trigger_register(struct led_trigger *trig) list_for_each_entry(led_cdev, &leds_list, node) { down_write(&led_cdev->trigger_lock); if (!led_cdev->trigger && led_cdev->default_trigger && - !strcmp(led_cdev->default_trigger, trig->name)) + !strcmp(led_cdev->default_trigger, trig->name)) { + led_cdev->flags |= LED_INIT_DEFAULT_TRIGGER; led_trigger_set(led_cdev, trig); + } up_write(&led_cdev->trigger_lock); } up_read(&leds_list_lock);