aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/base-files/etc
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2014-01-12 18:56:36 +0000
committerHauke Mehrtens <hauke@openwrt.org>2014-01-12 18:56:36 +0000
commit3d734a755e63db6919b6b844a111c19d8765426d (patch)
tree58ec62165be275c3a4863639ae325a7d91257237 /target/linux/brcm47xx/base-files/etc
parent3f35d3a8f2cd828ef7192fbab851e39abc4fa8bf (diff)
downloadmaster-187ad058-3d734a755e63db6919b6b844a111c19d8765426d.tar.gz
master-187ad058-3d734a755e63db6919b6b844a111c19d8765426d.tar.bz2
master-187ad058-3d734a755e63db6919b6b844a111c19d8765426d.zip
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/etc')
-rw-r--r--target/linux/brcm47xx/base-files/etc/diag.sh42
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
}