mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 21:54:11 +08:00
Pull bugzilla-7887 into release branch
This commit is contained in:
commit
902b236c08
@ -147,7 +147,7 @@ int acpi_bus_get_power(acpi_handle handle, int *state)
|
||||
*state = ACPI_STATE_D0;
|
||||
} else {
|
||||
/*
|
||||
* Get the device's power state either directly (via _PSC) or
|
||||
* Get the device's power state either directly (via _PSC) or
|
||||
* indirectly (via power resources).
|
||||
*/
|
||||
if (device->power.flags.explicit_get) {
|
||||
@ -461,7 +461,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
|
||||
"Received BUS CHECK notification for device [%s]\n",
|
||||
device->pnp.bus_id));
|
||||
result = acpi_bus_check_scope(device);
|
||||
/*
|
||||
/*
|
||||
* TBD: We'll need to outsource certain events to non-ACPI
|
||||
* drivers via the device manager (device.c).
|
||||
*/
|
||||
@ -472,7 +472,7 @@ static void acpi_bus_notify(acpi_handle handle, u32 type, void *data)
|
||||
"Received DEVICE CHECK notification for device [%s]\n",
|
||||
device->pnp.bus_id));
|
||||
result = acpi_bus_check_device(device, NULL);
|
||||
/*
|
||||
/*
|
||||
* TBD: We'll need to outsource certain events to non-ACPI
|
||||
* drivers via the device manager (device.c).
|
||||
*/
|
||||
@ -542,7 +542,7 @@ static int __init acpi_bus_init_irq(void)
|
||||
char *message = NULL;
|
||||
|
||||
|
||||
/*
|
||||
/*
|
||||
* Let the system know what interrupt model we are using by
|
||||
* evaluating the \_PIC object, if exists.
|
||||
*/
|
||||
@ -683,7 +683,7 @@ static int __init acpi_bus_init(void)
|
||||
* the EC device is found in the namespace (i.e. before acpi_initialize_objects()
|
||||
* is called).
|
||||
*
|
||||
* This is accomplished by looking for the ECDT table, and getting
|
||||
* This is accomplished by looking for the ECDT table, and getting
|
||||
* the EC parameters out of that.
|
||||
*/
|
||||
status = acpi_ec_ecdt_probe();
|
||||
@ -698,6 +698,9 @@ static int __init acpi_bus_init(void)
|
||||
|
||||
printk(KERN_INFO PREFIX "Interpreter enabled\n");
|
||||
|
||||
/* Initialize sleep structures */
|
||||
acpi_sleep_init();
|
||||
|
||||
/*
|
||||
* Get the system interrupt model and evaluate \_PIC.
|
||||
*/
|
||||
|
@ -235,6 +235,14 @@ acpi_status acpi_enter_sleep_state_prep(u8 sleep_state)
|
||||
"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);
|
||||
}
|
||||
|
||||
@ -290,13 +298,8 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
|
||||
}
|
||||
|
||||
/*
|
||||
* 1) Disable/Clear all 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;
|
||||
|
||||
status = acpi_hw_enable_all_wakeup_gpes();
|
||||
|
@ -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;
|
||||
|
||||
@ -229,4 +229,3 @@ static int __init acpi_sleep_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
late_initcall(acpi_sleep_init);
|
||||
|
@ -136,4 +136,14 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle)
|
||||
{
|
||||
}
|
||||
#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__*/
|
||||
|
Loading…
Reference in New Issue
Block a user