aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/atheros/base-files/etc
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2008-08-05 22:17:16 +0000
committerJohn Crispin <john@openwrt.org>2008-08-05 22:17:16 +0000
commit5e5cc5a7c80c86b8780902b437354f5dcdb1be54 (patch)
treef5c457fac5df7fd4787be8a9e64d98b7846e8ac8 /target/linux/atheros/base-files/etc
parentaf76ae2cb5e8df14d6f0056472f72fc93c77f704 (diff)
downloadupstream-5e5cc5a7c80c86b8780902b437354f5dcdb1be54.tar.gz
upstream-5e5cc5a7c80c86b8780902b437354f5dcdb1be54.tar.bz2
upstream-5e5cc5a7c80c86b8780902b437354f5dcdb1be54.zip
add proper uci/hotplug based button handling on atheros and work around boards, where the gpio release irq does not fire correctly
SVN-Revision: 12179
Diffstat (limited to 'target/linux/atheros/base-files/etc')
-rw-r--r--target/linux/atheros/base-files/etc/config/system17
-rw-r--r--target/linux/atheros/base-files/etc/hotplug.d/button/00-button24
2 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/atheros/base-files/etc/config/system b/target/linux/atheros/base-files/etc/config/system
new file mode 100644
index 0000000000..47faa3cc50
--- /dev/null
+++ b/target/linux/atheros/base-files/etc/config/system
@@ -0,0 +1,17 @@
+config system
+ option hostname OpenWrt
+ option timezone UTC
+
+config button
+ option button reset
+ option action released
+ option handler "logger reboot"
+ option min 0
+ option max 4
+
+config button
+ option button reset
+ option action released
+ option handler "logger factory default"
+ option min 5
+ option max 30
diff --git a/target/linux/atheros/base-files/etc/hotplug.d/button/00-button b/target/linux/atheros/base-files/etc/hotplug.d/button/00-button
new file mode 100644
index 0000000000..857a59b4a8
--- /dev/null
+++ b/target/linux/atheros/base-files/etc/hotplug.d/button/00-button
@@ -0,0 +1,24 @@
+. /etc/functions.sh
+do_button () {
+ local button
+ local action
+ local handler
+ local min
+ local max
+
+ config_get button $1 button
+ config_get action $1 action
+ config_get handler $1 handler
+ config_get min $1 min
+ config_get max $1 max
+
+ [ "$ACTION" = "$action" -a "$BUTTON" = "$button" -a -n "$handler" ] && {
+ [ -z "$min" -o -z "$max" ] && eval $handler
+ [ -n "$min" -a -n "$max" ] && {
+ [ $min -le $SEEN -a $max -ge $SEEN ] && eval $handler
+ }
+ }
+}
+
+config_load system
+config_foreach do_button button