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

John Crispin blogic at openwrt.org
Fri Feb 12 08:04:38 EST 2016



On 12/02/2016 00:45, Michal wrote:
> 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

not sure if it makes sense to use uci batch here. i understand that you
copied the existing code style, but i think the uci batch above this lie
is pointless aswell. maybe i am missing some magic side effect of using
uci batch that is not apparent.

>  		;;
>  
>  		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 ..
> 
_______________________________________________
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