Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 65116
b: refs/heads/master
c: b04e7bd
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Gleixner authored and Linus Torvalds committed Sep 23, 2007
1 parent b073983 commit 4a3e4a7
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1f0cff6e4d579ab0fe671c02fcd842694e46b90f
refs/heads/master: b04e7bdb984e3b7f62fb7f44146a529f88cc7639
2 changes: 2 additions & 0 deletions trunk/drivers/acpi/processor_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ static struct acpi_driver acpi_processor_driver = {
.add = acpi_processor_add,
.remove = acpi_processor_remove,
.start = acpi_processor_start,
.suspend = acpi_processor_suspend,
.resume = acpi_processor_resume,
},
};

Expand Down
19 changes: 18 additions & 1 deletion trunk/drivers/acpi/processor_idle.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,23 @@ static void acpi_state_timer_broadcast(struct acpi_processor *pr,

#endif

/*
* Suspend / resume control
*/
static int acpi_idle_suspend;

int acpi_processor_suspend(struct acpi_device * device, pm_message_t state)
{
acpi_idle_suspend = 1;
return 0;
}

int acpi_processor_resume(struct acpi_device * device)
{
acpi_idle_suspend = 0;
return 0;
}

static void acpi_processor_idle(void)
{
struct acpi_processor *pr = NULL;
Expand Down Expand Up @@ -355,7 +372,7 @@ static void acpi_processor_idle(void)
}

cx = pr->power.state;
if (!cx) {
if (!cx || acpi_idle_suspend) {
if (pm_idle_save)
pm_idle_save();
else
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/acpi/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,8 @@ int acpi_processor_power_init(struct acpi_processor *pr,
int acpi_processor_cst_has_changed(struct acpi_processor *pr);
int acpi_processor_power_exit(struct acpi_processor *pr,
struct acpi_device *device);
int acpi_processor_suspend(struct acpi_device * device, pm_message_t state);
int acpi_processor_resume(struct acpi_device * device);

/* in processor_thermal.c */
int acpi_processor_get_limit_info(struct acpi_processor *pr);
Expand Down

0 comments on commit 4a3e4a7

Please sign in to comment.