aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2013-04-12 05:41:06 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-04-12 07:34:57 -0400
commitaf93933974d7b4dd1f9003e50bae239760fc7978 (patch)
tree924b702fbb17f810b7c76355adc6d9313ca839f0 /drivers/base
parent31880c37c11e28cb81c70757e38392b42e695dc6 (diff)
PM / Runtime: Asyncronous idle|suspend devices at system resume
Use the asyncronous runtime PM API when returning the runtime reference for the device after the system resume is completed. By using the asyncronous runtime PM API we don't have to wait for each an every device to become idle|suspended. Instead we can move on and handle the next device in queue. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/domain.c2
-rw-r--r--drivers/base/power/generic_ops.c2
-rw-r--r--drivers/base/power/main.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 9a6b05a35603..bba575841f53 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -1327,7 +1327,7 @@ static void pm_genpd_complete(struct device *dev)
1327 pm_generic_complete(dev); 1327 pm_generic_complete(dev);
1328 pm_runtime_set_active(dev); 1328 pm_runtime_set_active(dev);
1329 pm_runtime_enable(dev); 1329 pm_runtime_enable(dev);
1330 pm_runtime_idle(dev); 1330 pm_request_idle(dev);
1331 } 1331 }
1332} 1332}
1333 1333
diff --git a/drivers/base/power/generic_ops.c b/drivers/base/power/generic_ops.c
index d03d290f31c2..bfd898b8988e 100644
--- a/drivers/base/power/generic_ops.c
+++ b/drivers/base/power/generic_ops.c
@@ -324,6 +324,6 @@ void pm_generic_complete(struct device *dev)
324 * Let runtime PM try to suspend devices that haven't been in use before 324 * Let runtime PM try to suspend devices that haven't been in use before
325 * going into the system-wide sleep state we're resuming from. 325 * going into the system-wide sleep state we're resuming from.
326 */ 326 */
327 pm_runtime_idle(dev); 327 pm_request_idle(dev);
328} 328}
329#endif /* CONFIG_PM_SLEEP */ 329#endif /* CONFIG_PM_SLEEP */
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 15beb500a4e4..5a9b6569dd74 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -756,7 +756,7 @@ static void device_complete(struct device *dev, pm_message_t state)
756 756
757 device_unlock(dev); 757 device_unlock(dev);
758 758
759 pm_runtime_put_sync(dev); 759 pm_runtime_put(dev);
760} 760}
761 761
762/** 762/**