diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2014-01-12 18:56:36 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2014-01-12 18:56:36 +0000 |
commit | 1166625457bc4a45666d3670e895314140ed1527 (patch) | |
tree | 58ec62165be275c3a4863639ae325a7d91257237 /target/linux/brcm47xx/base-files | |
parent | f0eca0a556c0d1429b66bb144fec60e335e52b3c (diff) |
brcm47xx: fix led indication
Use the new led api also on brcm47xx.
The led for failsafe indication is searched for.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39255 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/base-files')
-rw-r--r-- | target/linux/brcm47xx/base-files/etc/diag.sh | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/target/linux/brcm47xx/base-files/etc/diag.sh b/target/linux/brcm47xx/base-files/etc/diag.sh index 3b08554c64..539af36c51 100644 --- a/target/linux/brcm47xx/base-files/etc/diag.sh +++ b/target/linux/brcm47xx/base-files/etc/diag.sh @@ -1,28 +1,38 @@ #!/bin/sh # Copyright (C) 2006 OpenWrt.org -set_led() { - local led="$1" - local state="$2" - [ -f "/proc/diag/led/$1" ] && echo "$state" > "/proc/diag/led/$1" +. /lib/functions/leds.sh + +get_status_led() { + status_led_file=$(find /sys/class/leds/ -name "*power*" |head -n1) + if [ ! -f $status_led_file ]; then + status_led=$(basename $status_led_file) + return + fi; + status_led_file=$(find /sys/class/leds/ -name "*diag*" |head -n1) + if [ ! -f $status_led_file ]; then + status_led=$(basename $status_led_file) + return + fi; + status_led_file=$(find /sys/class/leds/ -name "*wps*" |head -n1) + if [ ! -f $status_led_file ]; then + status_led=$(basename $status_led_file) + return + fi; } set_state() { + get_status_led + case "$1" in - preinit) - set_led dmz 1 - set_led diag 1 - set_led power 0 + preinit) + status_led_blink_preinit ;; - failsafe) - set_led diag f - set_led power f - set_led dmz f + failsafe) + status_led_blink_failsafe ;; - done) - set_led dmz 0 - set_led diag 0 - set_led power 1 + done) + status_led_on ;; esac } |