diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2016-10-19 13:05:53 +0200 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2016-10-22 11:16:01 +0200 |
commit | 2187f57db6f55d41d68704179d309fbb6199b08e (patch) | |
tree | 2be4b254edec74d16f8091c170e3fa9b07c7025e | |
parent | 32c28a78f798dffb983a7f00342b471e5e4ac177 (diff) | |
download | upstream-2187f57db6f55d41d68704179d309fbb6199b08e.tar.gz upstream-2187f57db6f55d41d68704179d309fbb6199b08e.tar.bz2 upstream-2187f57db6f55d41d68704179d309fbb6199b08e.zip |
base-files: add ucidef_set_led_usbport for full usbport support
This helper allows using usbport trigger directly. It requires usbport
compatible syntax and supports specifying multiple USB ports, e.g.:
ucidef_set_led_usbport "usb" "USB" "devicename:colour:function" "usb1-port1" "usb2-port1"
This adds a proper object to the board.json, e.g.
"usb": {
"name": "USB",
"type": "usbport",
"sysfs": "devicename:colour:function",
"ports": [
"usb1-port1",
"usb2-port1"
]
}
and supports translating it into uci section.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-rwxr-xr-x | package/base-files/files/bin/config_generate | 9 | ||||
-rwxr-xr-x | package/base-files/files/etc/init.d/led | 1 | ||||
-rwxr-xr-x | package/base-files/files/lib/functions/uci-defaults.sh | 24 |
3 files changed, 34 insertions, 0 deletions
diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index 80e5c9f474..13ddb07e92 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -335,6 +335,15 @@ generate_led() { EOF ;; + usbport) + local ports port + json_get_values ports ports + uci set system.$cfg.trigger='usbport' + for port in $ports; do + uci add_list system.$cfg.port=$port + done + ;; + rssi) local iface minq maxq offset factor json_get_vars iface minq maxq offset factor diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led index 9a793e9a95..7c2a185013 100755 --- a/package/base-files/files/etc/init.d/led +++ b/package/base-files/files/etc/init.d/led @@ -19,6 +19,7 @@ load_led() { config_get name $1 name "$sysfs" config_get trigger $1 trigger "none" config_get dev $1 dev + config_get ports $1 port config_get mode $1 mode "link" config_get_bool default $1 default "nil" config_get delayon $1 delayon diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index a88308bbd0..e39b0a5776 100755 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -390,6 +390,30 @@ ucidef_set_led_usbdev() { json_select .. } +ucidef_set_led_usbport() { + local obj="$1" + local name="$2" + local sysfs="$3" + shift + shift + shift + + json_select_object led + + json_select_object "$obj" + json_add_string name "$name" + json_add_string type usbport + json_add_string sysfs "$sysfs" + json_select_array ports + for port in "$@"; do + json_add_string port "$port" + done + json_select .. + json_select .. + + json_select .. +} + ucidef_set_led_wlan() { local cfg="led_$1" local name="$2" |