board.d: add support for gpio_switch sections

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47762
This commit is contained in:
Jo-Philipp Wich 2015-12-04 15:02:32 +00:00
parent ba8a44995f
commit 08078df83d
2 changed files with 36 additions and 0 deletions

View file

@ -312,6 +312,24 @@ generate_led() {
json_select ..
}
generate_gpioswitch() {
local cfg="$1"
json_select gpioswitch
json_select "$cfg"
local name pin default
json_get_vars name pin default
uci -q batch <<-EOF
delete system.$cfg
set system.$cfg='gpio_switch'
set system.$cfg.name='$name'
set system.$cfg.gpio_pin='$pin'
set system.$cfg.default='$default'
EOF
json_select ..
json_select ..
}
json_init
json_load "$(cat ${CFG})"
@ -326,6 +344,9 @@ for key in $keys; do generate_switch $key; done
json_get_keys keys rssimon
for key in $keys; do generate_rssimon $key; done
json_get_keys keys gpioswitch
for key in $keys; do generate_gpioswitch $key; done
json_get_keys keys led
for key in $keys; do generate_led $key; done

View file

@ -540,6 +540,21 @@ ucidef_set_rssimon() {
}
ucidef_add_gpio_switch() {
local cfg="$1"
local name="$2"
local pin="$3"
local default="${4:-0}"
json_select_object gpioswitch
json_select_object "$cfg"
json_add_string name "$name"
json_add_int pin "$pin"
json_add_int default "$default"
json_select ..
json_select ..
}
board_config_update() {
json_init
[ -f ${CFG} ] && json_load "$(cat ${CFG})"