lantiq: use power leds defined in DTS
authorJohn Crispin <john@openwrt.org>
Fri, 1 Jan 2016 21:18:30 +0000 (21:18 +0000)
committerJohn Crispin <john@openwrt.org>
Fri, 1 Jan 2016 21:18:30 +0000 (21:18 +0000)
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

target/linux/lantiq/base-files/etc/diag.sh

index 57a7055..0e65e61 100644 (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
 }