Skip to content

Commit

Permalink
Pull bugzilla-7887 into release branch
Browse files Browse the repository at this point in the history
  • Loading branch information
Len Brown committed Feb 17, 2007
2 parents 08e4a10 + aafbcd1 commit 902b236
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 12 deletions.
13 changes: 8 additions & 5 deletions drivers/acpi/bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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).
*/
Expand All @@ -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).
*/
Expand Down Expand Up @@ -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.
*/
Expand Down Expand Up @@ -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();
Expand All @@ -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.
*/
Expand Down
13 changes: 8 additions & 5 deletions drivers/acpi/hardware/hwsleep.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down Expand Up @@ -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();
Expand Down
3 changes: 1 addition & 2 deletions drivers/acpi/sleep/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -229,4 +229,3 @@ static int __init acpi_sleep_init(void)
return 0;
}

late_initcall(acpi_sleep_init);
10 changes: 10 additions & 0 deletions include/acpi/acpi_drivers.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__*/

0 comments on commit 902b236

Please sign in to comment.