aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/power.c10
-rw-r--r--drivers/acpi/sleep.c1
-rw-r--r--drivers/acpi/sleep.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index 1c2b846c5776..3a6c9b741b23 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -864,6 +864,16 @@ void acpi_resume_power_resources(void)
864 864
865 mutex_unlock(&resource->resource_lock); 865 mutex_unlock(&resource->resource_lock);
866 } 866 }
867
868 mutex_unlock(&power_resource_list_lock);
869}
870
871void acpi_turn_off_unused_power_resources(void)
872{
873 struct acpi_power_resource *resource;
874
875 mutex_lock(&power_resource_list_lock);
876
867 list_for_each_entry_reverse(resource, &acpi_power_resource_list, list_node) { 877 list_for_each_entry_reverse(resource, &acpi_power_resource_list, list_node) {
868 int result, state; 878 int result, state;
869 879
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index a4327af676fe..097d630ab886 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -474,6 +474,7 @@ static void acpi_pm_start(u32 acpi_state)
474 */ 474 */
475static void acpi_pm_end(void) 475static void acpi_pm_end(void)
476{ 476{
477 acpi_turn_off_unused_power_resources();
477 acpi_scan_lock_release(); 478 acpi_scan_lock_release();
478 /* 479 /*
479 * This is necessary in case acpi_pm_finish() is not called during a 480 * This is necessary in case acpi_pm_finish() is not called during a
diff --git a/drivers/acpi/sleep.h b/drivers/acpi/sleep.h
index a9cc34e663f9..a82ff74faf7a 100644
--- a/drivers/acpi/sleep.h
+++ b/drivers/acpi/sleep.h
@@ -6,6 +6,7 @@ extern struct list_head acpi_wakeup_device_list;
6extern struct mutex acpi_device_lock; 6extern struct mutex acpi_device_lock;
7 7
8extern void acpi_resume_power_resources(void); 8extern void acpi_resume_power_resources(void);
9extern void acpi_turn_off_unused_power_resources(void);
9 10
10static inline acpi_status acpi_set_waking_vector(u32 wakeup_address) 11static inline acpi_status acpi_set_waking_vector(u32 wakeup_address)
11{ 12{