lantiq: add support for upgrade led
[openwrt/staging/blogic.git] / target / linux / lantiq / base-files / etc / diag.sh
index 0e65e6133b537d048033da4b828f1caca29ab91c..06cf7e2714cdec8202354564f40b9b291be27c39 100644 (file)
@@ -1,54 +1,46 @@
 #!/bin/sh
-# Copyright (C) 2012-2013 OpenWrt.org
+# Copyright (C) 2010-2015 OpenWrt.org
 
 . /lib/functions/leds.sh
-. /lib/functions/lantiq.sh
 
-power="$(lantiq_get_dt_led_chosen power)"
-power1="$(lantiq_get_dt_led_chosen power1)"
-power2="$(lantiq_get_dt_led_chosen power2)"
-
-status_led="$power"
+boot="$(get_dt_led boot)"
+failsafe="$(get_dt_led failsafe)"
+running="$(get_dt_led running)"
+upgrade="$(get_dt_led upgrade)"
 
 set_state() {
+       status_led="$boot"
+
        case "$1" in
        preinit)
-               if [ -n "$power2" ]; then
-                       status_led_on
-                       status_led="$power2"
-                       status_led_blink_preinit
-                       status_led="$power"
-               else
-                       status_led_blink_preinit
-               fi
+               status_led_blink_preinit
                ;;
        failsafe)
-               if [ -n "$power2" ]; then
-                       led_off "$power2"
-                       status_led_blink_failsafe
-               elif [ -n "$power1" ]; then
+               status_led_off
+               [ -n "$running" ] && {
+                       status_led="$running"
                        status_led_off
-                       status_led="$power1"
-                       status_led_blink_failsafe
-                       status_led="$power"
-               else
-                       status_led_blink_failsafe
-               fi
+               }
+               status_led="$failsafe"
+               status_led_blink_failsafe
                ;;
        preinit_regular)
-               if [ -n "$power2" ]; then
-                       status_led_on
-                       status_led="$power2"
-                       status_led_blink_preinit_regular
-                       status_led="$power"
-               else
-                       status_led_blink_preinit_regular
-               fi
+               status_led_blink_preinit_regular
+               ;;
+       upgrade)
+               [ -n "$running" ] && {
+                       status_led="$running"
+                       status_led_off
+               }
+               status_led="$upgrade"
+               status_led_blink_preinit_regular
                ;;
        done)
-               status_led_on
-               led_off "$power1"
-               led_off "$power2"
+               status_led_off
+               [ -n "$running" ] && {
+                       status_led="$running"
+                       status_led_on
+               }
                ;;
        esac
 }