Messages in this thread Patch in this message | | | From | Nigel Cunningham <> | Subject | [Suspend2][ 2/4] [Suspend2] Try to powerdown using ACPI. | Date | Tue, 27 Jun 2006 14:40:16 +1000 |
| |
Try to powerdown by entering ACPI S3, S4 or S5.
Signed-off-by: Nigel Cunningham <nigel@suspend2.net>
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |