leds: support oneshot as well as timer triggers
[openwrt/svn-archive/archive.git] / package / base-files / files / lib / functions / uci-defaults.sh
index de3f180cbb75b9d7f44ed716c518107421f367a1..84b78b84ef747f08de61a6a260015fd0b0e6ac6d 100755 (executable)
@@ -478,17 +478,18 @@ ucidef_set_led_ide() {
        json_select ..
 }
 
-ucidef_set_led_timer() {
+__ucidef_set_led_timer() {
        local cfg="led_$1"
        local name="$2"
        local sysfs="$3"
-       local delayon="$4"
-       local delayoff="$5"
+       local trigger="$4"
+       local delayon="$5"
+       local delayoff="$6"
 
        json_select_object led
 
        json_select_object "$1"
-       json_add_string type timer
+       json_add_string type "$trigger"
        json_add_string name "$name"
        json_add_string sysfs "$sysfs"
        json_add_int delayon "$delayon"
@@ -498,6 +499,14 @@ ucidef_set_led_timer() {
        json_select ..
 }
 
+ucidef_set_led_oneshot() {
+       __ucidef_set_led_timer $1 $2 $3 "oneshot" $4 $5
+}
+
+ucidef_set_led_timer() {
+       __ucidef_set_led_timer $1 $2 $3 "timer" $4 $5
+}
+
 ucidef_set_led_rssi() {
        local cfg="led_$1"
        local name="$2"