aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds/leds-gpio.c
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2015-10-13 01:17:12 -0400
committerJacek Anaszewski <j.anaszewski@samsung.com>2015-11-03 02:59:48 -0500
commit707f33ed85ff423016674d27bb2e60fe8fa352ce (patch)
treea5e4bb2b7791af80978c058b70ada6b555efbf0d /drivers/leds/leds-gpio.c
parent1d3ff22d633d35048c35c3deeead7ab116cebc32 (diff)
leds: leds-gpio: add shutdown function
add a shutdown function for setting the gpio-leds into off state when shuting down. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Diffstat (limited to 'drivers/leds/leds-gpio.c')
-rw-r--r--drivers/leds/leds-gpio.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index af1876a3a77c..5db4515a4fd7 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -291,9 +291,22 @@ static int gpio_led_remove(struct platform_device *pdev)
291 return 0; 291 return 0;
292} 292}
293 293
294static void gpio_led_shutdown(struct platform_device *pdev)
295{
296 struct gpio_leds_priv *priv = platform_get_drvdata(pdev);
297 int i;
298
299 for (i = 0; i < priv->num_leds; i++) {
300 struct gpio_led_data *led = &priv->leds[i];
301
302 gpio_led_set(&led->cdev, LED_OFF);
303 }
304}
305
294static struct platform_driver gpio_led_driver = { 306static struct platform_driver gpio_led_driver = {
295 .probe = gpio_led_probe, 307 .probe = gpio_led_probe,
296 .remove = gpio_led_remove, 308 .remove = gpio_led_remove,
309 .shutdown = gpio_led_shutdown,
297 .driver = { 310 .driver = {
298 .name = "leds-gpio", 311 .name = "leds-gpio",
299 .of_match_table = of_gpio_leds_match, 312 .of_match_table = of_gpio_leds_match,