Hi,

This adds basic support for uswsusp (http://suspend.sf.net)

More work needs to be done let the s2ram use the newly added commandline
parameters.

Index: pm/functions
===================================================================
RCS file: /cvs/pm-utils/pm-utils/pm/functions,v
retrieving revision 1.32
diff -u -r1.32 functions
--- pm/functions        30 Nov 2006 20:07:04 -0000      1.32
+++ pm/functions        20 Feb 2007 18:43:43 -0000
@@ -12,6 +12,9 @@
 INHIBIT=/var/run/pm-utils.inhibit
 PM_LOGFILE=${PM_LOGFILE:=/var/log/pm-suspend.log}
 SUSPEND_MODULES=""
+HIBERNATE_METHOD=""
+S2DISK_BIN=/usr/sbin/s2disk
+S2DISK_CONF=/etc/suspend.conf
 
 [ -f /etc/pm/config ] && . /etc/pm/config
 
@@ -28,6 +31,9 @@
 add_global PM_CMDLINE
 add_global RESUME_MODULES
 add_global SUSPEND_MODULES
+add_global HIBERNATE_METHOD
+add_global S2DISK_BIN
+add_global S2DISK_CONF
 
 source_configs()
 {
@@ -123,13 +129,31 @@
 
 do_suspend()
 {
-       pm-pmu --suspend || echo -n "mem" > /sys/power/state
+       if [ -x /usr/sbin/s2ram ]; then
+               /usr/sbin/s2ram $S2RAM_OPTS
+       else
+               pm-pmu --suspend || echo -n "mem" > /sys/power/state
+       fi
 }
 
 do_hibernate()
 {
-       echo -n "platform" > /sys/power/disk
-       echo -n "disk" > /sys/power/state
+       if [ -z "$HIBERNATE_METHOD" ]; then
+               if [ -x $S2DISK_BIN -a -c /dev/snapshot ]; then
+                       HIBERNATE_METHOD="userspace"
+               else
+                       HIBERNATE_METHOD="kernel"
+               fi
+       fi
+       case $HIBERNATE_METHOD in
+               userspace)
+                       $S2DISK_BIN -f $S2DISK_CONF
+                       ;;
+               kernel)
+                       echo -n "platform" > /sys/power/disk
+                       echo -n "disk" > /sys/power/state
+                       ;;
+       esac
 }
 
 pm_main()
-- 
Stefan Seyfried

"Any ideas, John?"
"Well, surrounding them's out." 
_______________________________________________
Pm-utils mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pm-utils

Reply via email to