mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 14:41:22 -05:00
leds: trigger: panic: Simplify led_trigger_set_panic
I don't see why we iterate over all triggers to find the panic trigger. We *are* the panic trigger. Therefore we also know that the panic trigger doesn't have an activate() hook. So we can simplify the code significantly. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> Link: https://lore.kernel.org/r/84c0fa67-2f03-4474-aa75-914d65d88dd0@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
committed by
Lee Jones
parent
ec18a2a83b
commit
7eef64da0b
@@ -21,24 +21,15 @@ static struct led_trigger *trigger;
|
||||
*/
|
||||
static void led_trigger_set_panic(struct led_classdev *led_cdev)
|
||||
{
|
||||
struct led_trigger *trig;
|
||||
if (led_cdev->trigger)
|
||||
list_del(&led_cdev->trig_list);
|
||||
list_add_tail(&led_cdev->trig_list, &trigger->led_cdevs);
|
||||
|
||||
list_for_each_entry(trig, &trigger_list, next_trig) {
|
||||
if (strcmp("panic", trig->name))
|
||||
continue;
|
||||
if (led_cdev->trigger)
|
||||
list_del(&led_cdev->trig_list);
|
||||
list_add_tail(&led_cdev->trig_list, &trig->led_cdevs);
|
||||
/* Avoid the delayed blink path */
|
||||
led_cdev->blink_delay_on = 0;
|
||||
led_cdev->blink_delay_off = 0;
|
||||
|
||||
/* Avoid the delayed blink path */
|
||||
led_cdev->blink_delay_on = 0;
|
||||
led_cdev->blink_delay_off = 0;
|
||||
|
||||
led_cdev->trigger = trig;
|
||||
if (trig->activate)
|
||||
trig->activate(led_cdev);
|
||||
break;
|
||||
}
|
||||
led_cdev->trigger = trigger;
|
||||
}
|
||||
|
||||
static int led_trigger_panic_notifier(struct notifier_block *nb,
|
||||
|
||||
Reference in New Issue
Block a user