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 */ | 
