Try to powerdown by entering ACPI S3, S4 or S5.
Signed-off-by: Nigel Cunningham <[email protected]>
kernel/power/power_off.c | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/kernel/power/power_off.c b/kernel/power/power_off.c
index 8f9f425..7f7c565 100644
--- a/kernel/power/power_off.c
+++ b/kernel/power/power_off.c
@@ -24,3 +24,29 @@ extern struct pm_ops *pm_ops;
/* Use suspend_enter from main.c */
extern int suspend_enter(suspend_state_t state);
+int try_pm_state_powerdown(void)
+{
+ if (pm_ops && pm_ops->prepare && suspend_powerdown_method &&
+ pm_ops->prepare(suspend_powerdown_method))
+ return 0;
+
+ if (suspend_powerdown_method > 3)
+ kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
+ else {
+ if (device_suspend(PMSG_SUSPEND)) {
+ printk(KERN_ERR "Some devices failed to suspend\n");
+ return 0;
+ }
+ }
+
+ if (suspend_enter(suspend_powerdown_method))
+ return 0;
+
+ device_resume();
+
+ if (pm_ops && pm_ops->finish && suspend_powerdown_method)
+ pm_ops->finish(suspend_powerdown_method);
+
+ return 1;
+}
+
--
Nigel Cunningham nigel at suspend2 dot net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]