lantiq: use power leds defined in DTS

Use the power leds defined in the dts file instead of hardcoded led names.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48039
owl
John Crispin 2016-01-01 21:18:30 +00:00
parent d7a5d66ea1
commit a3c3b2a9a8
1 changed files with 19 additions and 15 deletions

View File

@ -2,49 +2,53 @@
# Copyright (C) 2012-2013 OpenWrt.org
. /lib/functions/leds.sh
. /lib/functions/lantiq.sh
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
power="$(lantiq_get_dt_led_chosen power)"
power1="$(lantiq_get_dt_led_chosen power1)"
power2="$(lantiq_get_dt_led_chosen power2)"
status_led="$power"
set_state() {
case "$1" in
preinit)
if [ -d /sys/class/leds/power2/ ]; then
if [ -n "$power2" ]; then
status_led_on
status_led=power2
status_led="$power2"
status_led_blink_preinit
status_led=power
status_led="$power"
else
status_led_blink_preinit
fi
;;
failsafe)
if [ -d /sys/class/leds/power2/ ]; then
led_off power2
if [ -n "$power2" ]; then
led_off "$power2"
status_led_blink_failsafe
elif [ -d /sys/class/leds/power1/ ]; then
elif [ -n "$power1" ]; then
status_led_off
status_led=power1
status_led="$power1"
status_led_blink_failsafe
status_led=power
status_led="$power"
else
status_led_blink_failsafe
fi
;;
preinit_regular)
if [ -d /sys/class/leds/power2/ ]; then
if [ -n "$power2" ]; then
status_led_on
status_led=power2
status_led="$power2"
status_led_blink_preinit_regular
status_led=power
status_led="$power"
else
status_led_blink_preinit_regular
fi
;;
done)
status_led_on
led_off power1
led_off power2
led_off "$power1"
led_off "$power2"
;;
esac
}