Add sleep and volume acpi buttons handler
[hvlinux.git] / stage2 / misc / acpi / suspend2ram.sh
index 11cd412..5283375 100755 (executable)
@@ -1,9 +1,26 @@
 #!/bin/sh
 
-if grep -q open /proc/acpi/button/lid/LID/state; then
-    # Do not act on lid opened event. Only on lid closed.
-    exit 0
-fi
+case "$1" in
+    button-sleep)
+        logger "Sleep button pressed"
+        ;;
+    button-lid)
+        if [ -f /proc/acpi/button/lid/LID/state ]; then
+            if grep -q open /proc/acpi/button/lid/LID/state; then
+                logger "Lid opened detected, do nothing"
+                # Do not act on lid opened event. Only on lid closed.
+                exit 0
+            fi
+
+            logger "Lid closed detected"
+        fi
+        ;;
+    *)
+        logger "Unknown event: ${1}"
+        ;;
+esac
+
+logger "Going to sleep"
 
 # discover video card's ID
 ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`
@@ -20,7 +37,7 @@ sync
 cat /proc/bus/pci/$ID > $TMP_FILE
 
 # Stopping network.
-# Sony VAIO PCG-Z505RX and PCMCIA Linksys wifi card
+/etc/rc.d/init.d/named stop
 /etc/rc.d/init.d/network stop
 
 echo "Entering suspend mode"
@@ -35,6 +52,7 @@ echo "Resuming"
 cat $TMP_FILE > /proc/bus/pci/$ID
 
 /etc/rc.d/init.d/network start
+/etc/rc.d/init.d/named start
 
 # remove temporary file
 rm -f $TMP_FILE