aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/base-files
diff options
context:
space:
mode:
authorDmitry Tunin <hanipouspilot@gmail.com>2018-08-14 08:54:38 +0300
committerMathias Kresin <dev@kresin.me>2018-08-15 07:42:36 +0200
commit7a873974f7fd04b4d5563df2b7ed91e9be3b38b7 (patch)
tree2ab97e225602043b226fa09d68dc35cf6f8338bb /target/linux/ath79/base-files
parent37af596593b0e84d0a076ab8f173066e3d7bc810 (diff)
downloadupstream-7a873974f7fd04b4d5563df2b7ed91e9be3b38b7.tar.gz
upstream-7a873974f7fd04b4d5563df2b7ed91e9be3b38b7.tar.bz2
upstream-7a873974f7fd04b4d5563df2b7ed91e9be3b38b7.zip
ath79: add support for indicating the boot state using multiple leds
Use diag.sh version used for apm821xx, ipq40xx and ipq806x, which supports different leds for the different boot states. The existing led sequences should be the same as before. Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com> [reword commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
Diffstat (limited to 'target/linux/ath79/base-files')
-rwxr-xr-x[-rw-r--r--]target/linux/ath79/base-files/etc/diag.sh29
1 files changed, 27 insertions, 2 deletions
diff --git a/target/linux/ath79/base-files/etc/diag.sh b/target/linux/ath79/base-files/etc/diag.sh
index 5a21006528..a3a7047702 100644..100755
--- a/target/linux/ath79/base-files/etc/diag.sh
+++ b/target/linux/ath79/base-files/etc/diag.sh
@@ -2,21 +2,46 @@
. /lib/functions/leds.sh
-status_led="$(get_dt_led status)"
+boot="$(get_dt_led boot)"
+failsafe="$(get_dt_led failsafe)"
+running="$(get_dt_led running)"
+upgrade="$(get_dt_led upgrade)"
+
+get_status_led() {
+ status_led="$boot"
+}
set_state() {
+ status_led="$boot"
+
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
+ status_led_off
+ [ -n "$running" ] && {
+ status_led="$running"
+ status_led_off
+ }
+ status_led="$failsafe"
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
+ upgrade)
+ [ -n "$running" ] && {
+ status_led="$upgrade"
+ status_led_blink_preinit_regular
+ }
+ ;;
done)
- status_led_on
+ status_led_off
+ [ -n "$running" ] && {
+ status_led="$running"
+ status_led_on
+ }
;;
esac
}