diff options
author | Florian Fainelli <florian@openwrt.org> | 2013-02-18 10:37:43 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2013-02-18 10:37:43 +0000 |
commit | 15b66e0cbe4c99f453780b8b8fbf21e5e174bb1e (patch) | |
tree | d92c95f7f2aa19b209b4d18a30b99e0e9b3b0531 /target | |
parent | 90011a99f3c3a476a16b9766ec8618edfbbadd69 (diff) | |
download | upstream-15b66e0cbe4c99f453780b8b8fbf21e5e174bb1e.tar.gz upstream-15b66e0cbe4c99f453780b8b8fbf21e5e174bb1e.tar.bz2 upstream-15b66e0cbe4c99f453780b8b8fbf21e5e174bb1e.zip |
ar7: migrate to common led helper functions
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 35659
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ar7/base-files/etc/diag.sh | 60 |
1 files changed, 27 insertions, 33 deletions
diff --git a/target/linux/ar7/base-files/etc/diag.sh b/target/linux/ar7/base-files/etc/diag.sh index 25ec89934d..37eed6a1a1 100644 --- a/target/linux/ar7/base-files/etc/diag.sh +++ b/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 } |