[OpenWrt-Devel] [PATCH 3/4] uci: add support for speed_mask to switch LED init scripts

Michal michal.cieslakiewicz at wp.pl
Thu Feb 11 18:45:13 EST 2016


From: Michal Cieslakiewicz <michal.cieslakiewicz at wp.pl>
Subject: [PATCH 3/4] uci: add support for speed_mask to switch LED init scripts

This patch adds extra parameter to switch LED trigger initialization functions.
New functionality maintains backward compatibility, so calling functions
without setting new speed_mask parameter works as expected.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz at wp.pl>
---
 package/base-files/files/bin/config_generate           | 9 +++++++--
 package/base-files/files/etc/init.d/led                | 5 ++++-
 package/base-files/files/lib/functions/uci-defaults.sh | 2 ++
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 92eb14b..f6e7b63 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -296,11 +296,16 @@ generate_led() {
 		;;
 
 		switch)
-			local port_mask
-			json_get_vars port_mask
+			local port_mask speed_mask
+			json_get_vars port_mask speed_mask
 			uci -q batch <<-EOF
 				set system.$cfg.port_mask='$port_mask'
 			EOF
+			if [ -n "$speed_mask" ] ; then
+				uci -q batch <<-EOF
+					set system.$cfg.speed_mask='$speed_mask'
+				EOF
+			fi
 		;;
 
 		timer)
diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led
index 84cd028..d1521a9 100755
--- a/package/base-files/files/etc/init.d/led
+++ b/package/base-files/files/etc/init.d/led
@@ -88,11 +88,14 @@ load_led() {
 			;;
 
 		switch[0-9]*)
-			local port_mask
+			local port_mask speed_mask
 
 			config_get port_mask $1 port_mask
 			[ -n "$port_mask" ] && \
 				echo $port_mask > /sys/class/leds/${sysfs}/port_mask
+			config_get speed_mask $1 speed_mask
+			[ -n "$speed_mask" ] && \
+				echo $speed_mask > /sys/class/leds/${sysfs}/speed_mask
 			;;
 		esac
 	}
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index de3f180..a6005b1 100755
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -410,6 +410,7 @@ ucidef_set_led_switch() {
 	local sysfs="$3"
 	local trigger="$4"
 	local port_mask="$5"
+	local speed_mask="$6"
 
 	json_select_object led
 
@@ -419,6 +420,7 @@ ucidef_set_led_switch() {
 	json_add_string sysfs "$sysfs"
 	json_add_string trigger "$trigger"
 	json_add_string port_mask "$port_mask"
+	[ -n "$speed_mask" ] && json_add_string speed_mask "$speed_mask"
 	json_select ..
 
 	json_select ..
-- 
2.6.4
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list