From: Rodolfo Giometti <giometti@linux.it>
Date: Thu, 8 Jan 2009 19:50:15 +0000 (+0000)
Subject: leds: ledtrig-timer - on deactivation hardware blinking should be disabled
X-Git-Tag: firefly_0821_release~15925^2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ce70a24575414d615f6a7a05caf9b7e8f91a1b6f;p=firefly-linux-kernel-4.4.55.git

leds: ledtrig-timer - on deactivation hardware blinking should be disabled

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
---

diff --git a/drivers/leds/ledtrig-timer.c b/drivers/leds/ledtrig-timer.c
index db681962d7bb..3d6531396dda 100644
--- a/drivers/leds/ledtrig-timer.c
+++ b/drivers/leds/ledtrig-timer.c
@@ -199,6 +199,7 @@ err_out:
 static void timer_trig_deactivate(struct led_classdev *led_cdev)
 {
 	struct timer_trig_data *timer_data = led_cdev->trigger_data;
+	unsigned long on = 0, off = 0;
 
 	if (timer_data) {
 		device_remove_file(led_cdev->dev, &dev_attr_delay_on);
@@ -206,6 +207,10 @@ static void timer_trig_deactivate(struct led_classdev *led_cdev)
 		del_timer_sync(&timer_data->timer);
 		kfree(timer_data);
 	}
+
+	/* If there is hardware support for blinking, stop it */
+	if (led_cdev->blink_set)
+		led_cdev->blink_set(led_cdev, &on, &off);
 }
 
 static struct led_trigger timer_led_trigger = {