summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle2024-10-03 15:25:36 +0000
committerDaniel Golle2024-10-03 22:05:24 +0000
commit511e8f84d093b6fbb93b044c2ab150e613b88171 (patch)
tree86b0f5a9d6d65bf746d34cb3edac2ac540ed91c0
parent664b8ffb0a0eb81ba998d28c09dd0b5e476e2adc (diff)
downloadopenwrt-511e8f84d093b6fbb93b044c2ab150e613b88171.tar.gz
base-files: configure LED when added
Currently LED configuration is only carried out once during boot. Apply LED configuration also with a hotplug call when a new LED gets added later. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--package/base-files/files/etc/hotplug.d/leds/00-init3
-rwxr-xr-xpackage/base-files/files/etc/init.d/led7
2 files changed, 8 insertions, 2 deletions
diff --git a/package/base-files/files/etc/hotplug.d/leds/00-init b/package/base-files/files/etc/hotplug.d/leds/00-init
new file mode 100644
index 0000000000..0303e2bc47
--- /dev/null
+++ b/package/base-files/files/etc/hotplug.d/leds/00-init
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+[ "$ACTION" = "add" ] && /etc/init.d/led start "$DEVICENAME"
diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led
index ea2688cab2..5130ac7d41 100755
--- a/package/base-files/files/etc/init.d/led
+++ b/package/base-files/files/etc/init.d/led
@@ -64,6 +64,8 @@ load_led() {
config_get gpio $1 gpio "0"
config_get_bool inverted $1 inverted "0"
+ [ "$2" ] && [ "$sysfs" != "$2" ] && return
+
# execute application led trigger
[ -f "/usr/libexec/led-trigger/${trigger}" ] && {
. "/usr/libexec/led-trigger/${trigger}"
@@ -121,7 +123,7 @@ load_led() {
[ -e "/sys/class/leds/${sysfs}/$m" ] && \
echo 1 > /sys/class/leds/${sysfs}/$m
done
- echo $interval > /sys/class/leds/${sysfs}/interval
+ echo $interval > /sys/class/leds/${sysfs}/interval 2>/dev/null
}
;;
@@ -171,6 +173,7 @@ start() {
[ -s /var/run/led.state ] && {
local led trigger brightness color
while read led trigger brightness color; do
+ [ "$1" ] && [ "$1" != "$led" ] && continue
[ -e "/sys/class/leds/$led/trigger" ] && \
echo "$trigger" > "/sys/class/leds/$led/trigger"
@@ -185,6 +188,6 @@ start() {
}
config_load system
- config_foreach load_led led
+ config_foreach load_led led "$1"
}
}