Commit 902b236c authored by Len Brown's avatar Len Brown

Pull bugzilla-7887 into release branch

parents 08e4a10e aafbcd16
...@@ -698,6 +698,9 @@ static int __init acpi_bus_init(void) ...@@ -698,6 +698,9 @@ static int __init acpi_bus_init(void)
printk(KERN_INFO PREFIX "Interpreter enabled\n"); printk(KERN_INFO PREFIX "Interpreter enabled\n");
/* Initialize sleep structures */
acpi_sleep_init();
/* /*
* Get the system interrupt model and evaluate \_PIC. * Get the system interrupt model and evaluate \_PIC.
*/ */
......
...@@ -235,6 +235,14 @@ acpi_status acpi_enter_sleep_state_prep(u8 sleep_state) ...@@ -235,6 +235,14 @@ acpi_status acpi_enter_sleep_state_prep(u8 sleep_state)
"While executing method _SST")); "While executing method _SST"));
} }
/*
* 1) Disable/Clear all GPEs
*/
status = acpi_hw_disable_all_gpes();
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
return_ACPI_STATUS(AE_OK); return_ACPI_STATUS(AE_OK);
} }
...@@ -290,13 +298,8 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state) ...@@ -290,13 +298,8 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
} }
/* /*
* 1) Disable/Clear all GPEs
* 2) Enable all wakeup GPEs * 2) Enable all wakeup GPEs
*/ */
status = acpi_hw_disable_all_gpes();
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
acpi_gbl_system_awake_and_running = FALSE; acpi_gbl_system_awake_and_running = FALSE;
status = acpi_hw_enable_all_wakeup_gpes(); status = acpi_hw_enable_all_wakeup_gpes();
......
...@@ -200,7 +200,7 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = { ...@@ -200,7 +200,7 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
{}, {},
}; };
static int __init acpi_sleep_init(void) int __init acpi_sleep_init(void)
{ {
int i = 0; int i = 0;
...@@ -229,4 +229,3 @@ static int __init acpi_sleep_init(void) ...@@ -229,4 +229,3 @@ static int __init acpi_sleep_init(void)
return 0; return 0;
} }
late_initcall(acpi_sleep_init);
...@@ -136,4 +136,14 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle) ...@@ -136,4 +136,14 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle)
{ {
} }
#endif #endif
/*--------------------------------------------------------------------------
Suspend/Resume
-------------------------------------------------------------------------- */
#ifdef CONFIG_ACPI_SLEEP
extern int acpi_sleep_init(void);
#else
#define acpi_sleep_init() do {} while (0)
#endif
#endif /*__ACPI_DRIVERS_H__*/ #endif /*__ACPI_DRIVERS_H__*/
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment