diff options
Diffstat (limited to 'drivers/acpi/sleep.c')
-rw-r--r-- | drivers/acpi/sleep.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c index 7f251dd1a687..2f0d4db40a9e 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c | |||
@@ -629,6 +629,7 @@ static int acpi_freeze_begin(void) | |||
629 | 629 | ||
630 | static int acpi_freeze_prepare(void) | 630 | static int acpi_freeze_prepare(void) |
631 | { | 631 | { |
632 | acpi_enable_wakeup_devices(ACPI_STATE_S0); | ||
632 | acpi_enable_all_wakeup_gpes(); | 633 | acpi_enable_all_wakeup_gpes(); |
633 | acpi_os_wait_events_complete(); | 634 | acpi_os_wait_events_complete(); |
634 | enable_irq_wake(acpi_gbl_FADT.sci_interrupt); | 635 | enable_irq_wake(acpi_gbl_FADT.sci_interrupt); |
@@ -637,6 +638,7 @@ static int acpi_freeze_prepare(void) | |||
637 | 638 | ||
638 | static void acpi_freeze_restore(void) | 639 | static void acpi_freeze_restore(void) |
639 | { | 640 | { |
641 | acpi_disable_wakeup_devices(ACPI_STATE_S0); | ||
640 | disable_irq_wake(acpi_gbl_FADT.sci_interrupt); | 642 | disable_irq_wake(acpi_gbl_FADT.sci_interrupt); |
641 | acpi_enable_all_runtime_gpes(); | 643 | acpi_enable_all_runtime_gpes(); |
642 | } | 644 | } |
@@ -806,21 +808,6 @@ static void acpi_sleep_hibernate_setup(void) | |||
806 | static inline void acpi_sleep_hibernate_setup(void) {} | 808 | static inline void acpi_sleep_hibernate_setup(void) {} |
807 | #endif /* !CONFIG_HIBERNATION */ | 809 | #endif /* !CONFIG_HIBERNATION */ |
808 | 810 | ||
809 | int acpi_suspend(u32 acpi_state) | ||
810 | { | ||
811 | suspend_state_t states[] = { | ||
812 | [1] = PM_SUSPEND_STANDBY, | ||
813 | [3] = PM_SUSPEND_MEM, | ||
814 | [5] = PM_SUSPEND_MAX | ||
815 | }; | ||
816 | |||
817 | if (acpi_state < 6 && states[acpi_state]) | ||
818 | return pm_suspend(states[acpi_state]); | ||
819 | if (acpi_state == 4) | ||
820 | return hibernate(); | ||
821 | return -EINVAL; | ||
822 | } | ||
823 | |||
824 | static void acpi_power_off_prepare(void) | 811 | static void acpi_power_off_prepare(void) |
825 | { | 812 | { |
826 | /* Prepare to power off the system */ | 813 | /* Prepare to power off the system */ |