diff mbox

[LEDE-DEV,RFC,08/12] base-files: support port_state LED types in board.d

Message ID 1464704698-30835-9-git-send-email-jo@mein.io
State RFC
Headers show

Commit Message

Jo-Philipp Wich May 31, 2016, 2:24 p.m. UTC
Add support for handling port_state LEDs as used by ADM5120.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
diff mbox

Patch

diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index 6fea2d8..6f04840 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -354,6 +354,14 @@  generate_led() {
 			EOF
 		;;
 
+		portstate)
+			local port_state
+			json_get_vars port_state
+			uci -q batch <<-EOF
+				set system.$cfg.port_state='$port_state'
+			EOF
+		;;
+
 		timer|oneshot)
 			local delayon delayoff
 			json_get_vars delayon delayoff
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh
index e688588..765b089 100755
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -432,6 +432,25 @@  ucidef_set_led_switch() {
 	json_select ..
 }
 
+ucidef_set_led_portstate() {
+	local cfg="led_$1"
+	local name="$2"
+	local sysfs="$3"
+	local port_state="$4"
+
+	json_select_object led
+
+	json_select_object "$1"
+	json_add_string name "$name"
+	json_add_string type portstate
+	json_add_string sysfs "$sysfs"
+	json_add_string trigger port_state
+	json_add_string port_state "$port_state"
+	json_select ..
+
+	json_select ..
+}
+
 ucidef_set_led_default() {
 	local cfg="led_$1"
 	local name="$2"