summaryrefslogtreecommitdiffstats
path: root/target/linux/atheros/base-files
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-05 22:17:16 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-05 22:17:16 +0000
commit2ad81d199386be89d26b46e96f820c30ad3b3a6b (patch)
treeed647aadd52bd89024422262d530631b8fcaa45c /target/linux/atheros/base-files
parentd8a3839f5c01893e0a8375c89214fdb8aafb745c (diff)
add proper uci/hotplug based button handling on atheros and work around boards, where the gpio release irq does not fire correctly
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12179 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/atheros/base-files')
-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 000000000..47faa3cc5
--- /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 000000000..857a59b4a
--- /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