openwrt/target/linux/apm821xx/base-files/etc/diag.sh
Christian Lamparter 8b0c053671 apm821xx: implement new LED label naming scheme
This patch updates all current APM82181 devices over to that
"new LED naming scheme". This includes many updates to the
device-tree:
	- dropped the deprecated, but beloved "label" property.
	- rename all DT leds node names to led-#.
	- add function and color properties.
	- utilized panic-indicator property.
	- dropped led- aliases (see below).

migration scripts for all devices are included.

For more information. See:
<https://www.kernel.org/doc/html/latest/leds/leds-class.html>

For the future: It looks like the color+function properties
won over the dt-alias / label. This will need to be wired up
into openwrt eventually. For APM821xx the situation is that
all devices have a dedicated power and fault indicator.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2021-10-22 21:25:18 +02:00

51 lines
872 B
Bash

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-only
. /lib/functions/leds.sh
get_status_led() {
local status_led_file
status_led_file=$(find /sys/class/leds/ -name "*:power" | head -n1)
if [ -d "$status_led_file" ]; then
basename $status_led_file
return
fi;
}
get_failsafe_led() {
local status_led_file
status_led_file=$(find /sys/class/leds/ -name "*:fault" | head -n1)
if [ -d "$status_led_file" ]; then
basename $status_led_file
return
fi;
}
set_state() {
status_led=$(get_status_led)
[ -z "$status_led" ] && return
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_off
status_led=$(get_failsafe_led)
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
upgrade)
status_led_blink_preinit_regular
;;
done)
status_led_on
;;
esac
}