diff options
author | John Crispin <blogic@openwrt.org> | 2015-07-08 14:25:52 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2015-07-08 14:25:52 +0000 |
commit | ed55318df19155dd36c30bb1761b1137b8c46fb4 (patch) | |
tree | cf0973a2b76fa768fc989b7a4daab3e66f1019e5 /package/base-files/files/lib | |
parent | b9f4b02c2846e3dffbce80f9aa7bb930694889b0 (diff) | |
download | master-187ad058-ed55318df19155dd36c30bb1761b1137b8c46fb4.tar.gz master-187ad058-ed55318df19155dd36c30bb1761b1137b8c46fb4.tar.bz2 master-187ad058-ed55318df19155dd36c30bb1761b1137b8c46fb4.zip |
base-files: implemented basic GPIO control
Internal GPIO pins are used for PoE passthrough setups in multi-port
routers. This patch implemnets control over this hardware feature for
Ubiquiti Nanostations and TP-Link CPE510.
Signed-off-by: Lars Kruse <lists@sumpfralle.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46271 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/lib')
-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' |