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>

SVN-Revision: 39255
owl
Hauke Mehrtens 2014-01-12 18:56:36 +00:00
parent edab966e45
commit bcdea80b0b
1 changed files with 26 additions and 16 deletions

View File

@ -1,28 +1,38 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2006 OpenWrt.org # Copyright (C) 2006 OpenWrt.org
set_led() { . /lib/functions/leds.sh
local led="$1"
local state="$2" get_status_led() {
[ -f "/proc/diag/led/$1" ] && echo "$state" > "/proc/diag/led/$1" 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() { set_state() {
get_status_led
case "$1" in case "$1" in
preinit) preinit)
set_led dmz 1 status_led_blink_preinit
set_led diag 1
set_led power 0
;; ;;
failsafe) failsafe)
set_led diag f status_led_blink_failsafe
set_led power f
set_led dmz f
;; ;;
done) done)
set_led dmz 0 status_led_on
set_led diag 0
set_led power 1
;; ;;
esac esac
} }