ar7: migrate to common led helper functions
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 18 Feb 2013 10:37:43 +0000 (10:37 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 18 Feb 2013 10:37:43 +0000 (10:37 +0000)
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35659 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar7/base-files/etc/diag.sh

index 25ec899..37eed6a 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2007-2012 OpenWrt.org
+# Copyright (C) 2007-2013 OpenWrt.org
 
 # This setup gives us 4.5 distinguishable states:
 #
 # (1-LED) Heartbeat:    normal operation
 # (2-LED) Solid GREEN:  normal operation
 
+. /lib/functions/leds.sh
+
+get_status_led() {
+       [ -d "/sys/class/leds/status" ] && status_led="status"
+       [ -d "/sys/class/leds/power:green" ] && status_led="power:green"
+}
+
 set_state() {
-        case "$1" in
-                preinit)
-                        [ -d /sys/class/leds/status ] && {
-                                echo timer >/sys/class/leds/status/trigger
-                                echo 100 >/sys/class/leds/status/delay_on
-                                echo 100 >/sys/class/leds/status/delay_off
-                        :; } || [ -d /sys/class/leds/power\:green ] && {
-                                echo timer >/sys/class/leds/power\:green/trigger
-                                echo 100 >/sys/class/leds/power\:green/delay_on
-                                echo 100 >/sys/class/leds/power\:green/delay_off
-                        }
-                ;;
-                failsafe)
-                        [ -d /sys/class/leds/status ] && {
-                                echo timer >/sys/class/leds/status/trigger
-                                echo 50 >/sys/class/leds/status/delay_on
-                                echo 50 >/sys/class/leds/status/delay_off
-                        :; } || [ -d /sys/class/leds/power\:green ] && {
-                                echo timer >/sys/class/leds/power\:green/trigger
-                                echo 50 >/sys/class/leds/power\:green/delay_on
-                                echo 50 >/sys/class/leds/power\:green/delay_off
-                        }
-                ;;
-                done)
-                        [ -d /sys/class/leds/status ] && {
-                                echo heartbeat >/sys/class/leds/status/trigger
-                        :; } || [ -d /sys/class/leds/power\:green ] && {
-                                echo default-on >/sys/class/leds/power\:green/trigger
-                                echo none >/sys/class/leds/power\:red/trigger
-                        }
-                ;;
-        esac
+       get_status_led
+
+       case "$1" in
+       preinit)
+               status_led_set_timer 100 100
+               ;;
+       failsafe)
+               status_led_set_timer 50 50
+               ;;
+       done)
+               [ "$status_led" = "status" ] && {
+                       status_led_set_heartbeat
+               }
+               [ "$status_led" = "power:green" ] && {
+                       status_led_set_on
+                       led_off "power:red"
+               }
+               ;;
+       esac
 }