I wanted to add status LEDs support to my imx6 based board and have found out, that I could use diag.sh script found in ramips platform, which seems to be also shared in a few other platforms: 4801276bc2078c5bcf03003c831e3b0a target/linux/ramips/base-files/etc/diag.sh 4801276bc2078c5bcf03003c831e3b0a target/linux/ipq40xx/base-files/etc/diag.sh 4801276bc2078c5bcf03003c831e3b0a target/linux/ath79/base-files/etc/diag.sh So I've extended the base diag.sh in a way, that if it detects any of the DTS LED aliases, then it would use the generic DTS set_led_state code. Signed-off-by: Petr Štetiar <ynezz@true.cz>master
parent
68e59b61c6
commit
60dd181a76
@ -1,4 +1,50 @@ |
||||
#!/bin/sh |
||||
# Copyright (C) 2006-2009 OpenWrt.org |
||||
# Copyright (C) 2006-2019 OpenWrt.org |
||||
|
||||
set_state() { :; } |
||||
. /lib/functions/leds.sh |
||||
|
||||
boot="$(get_dt_led boot)" |
||||
failsafe="$(get_dt_led failsafe)" |
||||
running="$(get_dt_led running)" |
||||
upgrade="$(get_dt_led upgrade)" |
||||
|
||||
set_led_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="$running" |
||||
status_led_off |
||||
} |
||||
status_led="$upgrade" |
||||
status_led_blink_preinit_regular |
||||
;; |
||||
done) |
||||
status_led_off |
||||
[ -n "$running" ] && { |
||||
status_led="$running" |
||||
status_led_on |
||||
} |
||||
;; |
||||
esac |
||||
} |
||||
|
||||
set_state() { |
||||
[ -n "$boot" -o -n "$failsafe" -o -n "$running" -o -n "$upgrade" ] && set_led_state "$1" |
||||
} |
||||
|
Loading…
Reference in new issue