Преглед изворни кода

ar7: migrate to common led helper functions

Signed-off-by: Michael Heimpold <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>

SVN-Revision: 35659
Florian Fainelli пре 12 година
родитељ
комит
15b66e0cbe
1 измењених фајлова са 27 додато и 33 уклоњено
  1. 27 33
      target/linux/ar7/base-files/etc/diag.sh

+ 27 - 33
target/linux/ar7/base-files/etc/diag.sh

@@ -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:
 #
@@ -12,37 +12,31 @@
 # (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
 }