diff options
| author | Patrick Mochel <mochel@osdl.org> | 2003-08-29 23:23:34 -0700 |
|---|---|---|
| committer | Patrick Mochel <mochel@osdl.org> | 2003-08-29 23:23:34 -0700 |
| commit | 36d1f8a3fb4e6a7b39727250515a5a6af23b1a54 (patch) | |
| tree | a578123dd7cb24f3313bde31b3e3d9bec169958b /kernel | |
| parent | 774bc11ff35f6008c6bbcc3371bcbfd55b7d406a (diff) | |
[swsusp] Restore software_suspend() call.
- Allows 'backdoor' interface to swsusp, as requested by Pavel.
- Simply a wrapper to pm_suspend(), though guaranteeing that swsusp is used,
and system is shutdown (and put into low-power state).
- Call in sys_reboot() changed back to call to software_suspend().
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/power/swsusp.c | 11 | ||||
| -rw-r--r-- | kernel/sys.c | 2 |
2 files changed, 12 insertions, 1 deletions
diff --git a/kernel/power/swsusp.c b/kernel/power/swsusp.c index 3b9e59b3aaef..c2c33c0cf76c 100644 --- a/kernel/power/swsusp.c +++ b/kernel/power/swsusp.c @@ -948,6 +948,17 @@ int swsusp_free(void) return 0; } + +int software_suspend(void) +{ + struct pm_ops swsusp_ops = { + .pm_disk_mode = PM_DISK_SHUTDOWN, + }; + + pm_set_ops(&swsusp_ops); + return pm_suspend(PM_SUSPEND_DISK); +} + static int __init resume_setup(char *str) { if (strlen(str)) diff --git a/kernel/sys.c b/kernel/sys.c index 27c19703a1ea..ded6182fcff8 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -456,7 +456,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user #ifdef CONFIG_SOFTWARE_SUSPEND case LINUX_REBOOT_CMD_SW_SUSPEND: - if (!pm_suspend(PM_SUSPEND_DISK)) + if (!software_suspend()) break; do_exit(0); break; |
