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
This commit is contained in:
John Crispin 2015-12-17 09:27:52 +00:00
parent 34934609f9
commit ab77d4bcb9

View File

@ -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
}