diff options
author | John Crispin <blogic@openwrt.org> | 2015-12-17 09:27:52 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2015-12-17 09:27:52 +0000 |
commit | 8aefd6d65c769efff4d3969d857e5931e1a3a846 (patch) | |
tree | 008d0aa4a2938158e34251eeb887355a1f642e02 /target/linux/lantiq/base-files/etc/diag.sh | |
parent | e929c43a321cee7985cc4853caf54a5a7b9a26f8 (diff) | |
download | master-187ad058-8aefd6d65c769efff4d3969d857e5931e1a3a846.tar.gz master-187ad058-8aefd6d65c769efff4d3969d857e5931e1a3a846.tar.bz2 master-187ad058-8aefd6d65c769efff4d3969d857e5931e1a3a846.zip |
lantiq: Fix LED handling.
- Use common OpenWrt blink patterns instead of custom ones
- Add preinit_regular hook
- Handle the TDW89X0 that does not have a configurable power LED
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47914 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/lantiq/base-files/etc/diag.sh')
-rw-r--r-- | target/linux/lantiq/base-files/etc/diag.sh | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/target/linux/lantiq/base-files/etc/diag.sh b/target/linux/lantiq/base-files/etc/diag.sh index 26f0a3c8a9..57a7055127 100644 --- a/target/linux/lantiq/base-files/etc/diag.sh +++ b/target/linux/lantiq/base-files/etc/diag.sh @@ -3,40 +3,48 @@ . /lib/functions/leds.sh -status_led="power" +status_led=power +[ ! -d /sys/class/leds/power/ ] && [ ! -d /sys/class/leds/power1/ ] && [ ! -d /sys/class/leds/power2/ ] && [ -d /sys/class/leds/wps/ ] && status_led=wps set_state() { - [ -d /sys/class/leds/power2/ ] && { - - case "$1" in - preinit) - led_set_attr "power2" "trigger" "heartbeat" - status_led_on - ;; - failsafe) - led_off "power2" - status_led_set_timer 100 100 - ;; - done) - led_off "power2" - ;; - esac - return - } - case "$1" in preinit) - status_led_set_heartbeat + if [ -d /sys/class/leds/power2/ ]; then + status_led_on + status_led=power2 + status_led_blink_preinit + status_led=power + else + status_led_blink_preinit + fi ;; failsafe) - [ -d /sys/class/leds/power1 ] && { + if [ -d /sys/class/leds/power2/ ]; then + led_off power2 + status_led_blink_failsafe + elif [ -d /sys/class/leds/power1/ ]; then status_led_off - led_timer "power1" 100 100 - } || status_led_set_timer 100 100 + status_led=power1 + status_led_blink_failsafe + status_led=power + else + status_led_blink_failsafe + fi + ;; + preinit_regular) + if [ -d /sys/class/leds/power2/ ]; then + status_led_on + status_led=power2 + status_led_blink_preinit_regular + status_led=power + else + status_led_blink_preinit_regular + fi ;; done) status_led_on - led_off "power1" + led_off power1 + led_off power2 ;; esac } |