diff options
| author | Daniel Golle | 2024-10-03 15:25:36 +0000 |
|---|---|---|
| committer | Daniel Golle | 2024-10-03 22:05:24 +0000 |
| commit | 511e8f84d093b6fbb93b044c2ab150e613b88171 (patch) | |
| tree | 86b0f5a9d6d65bf746d34cb3edac2ac540ed91c0 | |
| parent | 664b8ffb0a0eb81ba998d28c09dd0b5e476e2adc (diff) | |
| download | openwrt-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-init | 3 | ||||
| -rwxr-xr-x | package/base-files/files/etc/init.d/led | 7 |
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" } } |