From 08078df83dc2ec61e2272c2abf105d28ae44681c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 4 Dec 2015 15:02:32 +0000 Subject: [PATCH] board.d: add support for gpio_switch sections Signed-off-by: Jo-Philipp Wich SVN-Revision: 47762 --- package/base-files/files/bin/config_generate | 21 +++++++++++++++++++ .../files/lib/functions/uci-defaults-new.sh | 15 +++++++++++++ 2 files changed, 36 insertions(+) diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index 49784ebfae..9218788b5e 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -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 diff --git a/package/base-files/files/lib/functions/uci-defaults-new.sh b/package/base-files/files/lib/functions/uci-defaults-new.sh index 61aa6e168e..de3f180cbb 100755 --- a/package/base-files/files/lib/functions/uci-defaults-new.sh +++ b/package/base-files/files/lib/functions/uci-defaults-new.sh @@ -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})"