aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpackage/base-files/files/bin/config_generate5
-rwxr-xr-xpackage/base-files/files/etc/init.d/led6
-rwxr-xr-xpackage/base-files/files/lib/functions/uci-defaults.sh2
3 files changed, 9 insertions, 4 deletions
diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index c8b253da5b..df221cc26c 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -366,11 +366,12 @@ generate_led() {
;;
switch)
- local port_mask speed_mask
- json_get_vars port_mask speed_mask
+ local port_mask speed_mask mode
+ json_get_vars port_mask speed_mask mode
uci -q batch <<-EOF
set system.$cfg.port_mask='$port_mask'
set system.$cfg.speed_mask='$speed_mask'
+ set system.$cfg.mode='$mode'
EOF
;;
diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led
index c790e3e181..a3f1224a1a 100755
--- a/package/base-files/files/etc/init.d/led
+++ b/package/base-files/files/etc/init.d/led
@@ -20,7 +20,7 @@ load_led() {
config_get trigger $1 trigger "none"
config_get dev $1 dev
config_get ports $1 port
- config_get mode $1 mode "link"
+ config_get mode $1 mode
config_get_bool default $1 default "nil"
config_get delayon $1 delayon
config_get delayoff $1 delayoff
@@ -71,7 +71,7 @@ load_led() {
"netdev")
[ -n "$dev" ] && {
echo $dev > /sys/class/leds/${sysfs}/device_name
- echo $mode > /sys/class/leds/${sysfs}/mode
+ echo "${mode:-link}" > /sys/class/leds/${sysfs}/mode
echo $interval > /sys/class/leds/${sysfs}/interval
}
;;
@@ -110,6 +110,8 @@ load_led() {
config_get speed_mask $1 speed_mask
[ -n "$speed_mask" ] && \
echo $speed_mask > /sys/class/leds/${sysfs}/speed_mask
+ [ -n "$mode" ] && \
+ echo "$mode" > /sys/class/leds/${sysfs}/mode
;;
esac
}
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index 7fa328ac20..315df7b708 100755
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -442,11 +442,13 @@ ucidef_set_led_switch() {
local trigger_name="$4"
local port_mask="$5"
local speed_mask="$6"
+ local mode="$7"
_ucidef_set_led_common "$1" "$2" "$3"
json_add_string trigger "$trigger_name"
json_add_string type switch
+ json_add_string mode "$mode"
json_add_string port_mask "$port_mask"
json_add_string speed_mask "$speed_mask"
json_select ..