diff options
author | John Crispin <john@openwrt.org> | 2015-12-17 09:27:52 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2015-12-17 09:27:52 +0000 |
commit | ab77d4bcb90d81b3ae63ac7653889ef798da0ad2 (patch) | |
tree | b79426464365963e60db59ab0e35d8aa977d3e7f /target/linux/lantiq | |
parent | 34934609f9032b75b5b6db4222be445847e3ff28 (diff) | |
download | upstream-ab77d4bcb90d81b3ae63ac7653889ef798da0ad2.tar.gz upstream-ab77d4bcb90d81b3ae63ac7653889ef798da0ad2.tar.bz2 upstream-ab77d4bcb90d81b3ae63ac7653889ef798da0ad2.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>
SVN-Revision: 47914
Diffstat (limited to 'target/linux/lantiq')
-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 } |