diff options
Diffstat (limited to 'package/base-files/files/lib/functions')
-rw-r--r-- | package/base-files/files/lib/functions/uci-defaults.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/package/base-files/files/lib/functions/uci-defaults.sh b/package/base-files/files/lib/functions/uci-defaults.sh index 5a8809d68c..6577ecdcde 100644 --- a/package/base-files/files/lib/functions/uci-defaults.sh +++ b/package/base-files/files/lib/functions/uci-defaults.sh @@ -2,6 +2,7 @@ # Copyright (C) 2011 OpenWrt.org UCIDEF_LEDS_CHANGED=0 +UCIDEF_GPIO_SWITCHES_CHANGED=0 ucidef_set_led_netdev() { local cfg="led_$1" @@ -180,6 +181,29 @@ ucidef_commit_leds() [ "$UCIDEF_LEDS_CHANGED" = "1" ] && uci commit system } +ucidef_set_gpio_switch() { + local cfg="gpio_switch_$1" + local name="$2" + local gpio_pin="$3" + # use "0" as default value + local default="${4:-0}" + + uci -q get "system.$cfg" && return 0 + + uci batch <<EOF +set system.$cfg='gpio_switch' +set system.$cfg.name='$name' +set system.$cfg.gpio_pin='$gpio_pin' +set system.$cfg.value='$default' +EOF + UCIDEF_GPIO_SWITCHES_CHANGED=1 +} + +ucidef_commit_gpio_switches() +{ + [ "$UCIDEF_GPIO_SWITCHES_CHANGED" = "1" ] && uci commit system +} + ucidef_set_interface_loopback() { uci batch <<EOF set network.loopback='interface' |