diff options
Diffstat (limited to 'source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch')
-rw-r--r-- | source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch b/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch new file mode 100644 index 000000000..e09d07669 --- /dev/null +++ b/source/ap/pm-utils/patches/add-in-kernel-suspend-to-both.patch @@ -0,0 +1,32 @@ +diff --git a/pm/pm-functions.in b/pm/pm-functions.in +--- a/pm/pm-functions.in ++++ b/pm/pm-functions.in +@@ -316,8 +316,28 @@ if [ -z "$HIBERNATE_MODULE" ] && \ + { + [ -n "${HIBERNATE_MODE}" ] && \ + grep -qw "${HIBERNATE_MODE}" /sys/power/disk && \ ++ HIBERNATE_MODE_SAVE=$(cat /sys/power/disk) && \ ++ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE##*[}" && \ ++ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE%%]*}" && \ + echo -n "${HIBERNATE_MODE}" > /sys/power/disk + echo -n "disk" > /sys/power/state ++ RET=$? ++ echo -n "$HIBERNATE_MODE_SAVE" > /sys/power/disk ++ return "$RET" ++ } ++fi ++ ++# for kernels that support suspend to both (i.e. hybrid suspend) ++# since kernel 3.6 ++if [ -z "$SUSPEND_HYBRID_MODULE" ] && \ ++ [ -f /sys/power/disk ] && \ ++ grep -q disk /sys/power/state && \ ++ grep -q suspend /sys/power/disk; then ++ SUSPEND_HYBRID_MODULE="kernel" ++ do_suspend_hybrid() ++ { ++ HIBERNATE_MODE="suspend" ++ do_hibernate + } + fi + |