aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-04-27 19:54:22 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-04-27 19:54:22 -0400
commit0acaab5367a2c4140bd965a0ad3ea265af4d43ed (patch)
tree944fc8279a28c94e136325ec337ebe216a129ec1
parentc940c8ce1db3ed3909d31c02aef01a864565519c (diff)
parent841670351e8e5acbe9f7367f7df661a5d0cfef79 (diff)
Merge branch 'pm-runtime'
* pm-runtime: PM / Runtime: Improve prepare handling at system suspend for genpd PM / Runtime: Asyncronous idle|suspend parent devices at removal PM / Runtime: Asyncronous idle|suspend devices at system resume
-rw-r--r--drivers/base/power/domain.c6
-rw-r--r--drivers/base/power/generic_ops.c2
-rw-r--r--drivers/base/power/main.c2
-rw-r--r--drivers/base/power/runtime.c2
4 files changed, 6 insertions, 6 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 9a6b05a35603..7072404c8b6d 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -920,7 +920,7 @@ static int pm_genpd_prepare(struct device *dev)
920 pm_wakeup_event(dev, 0); 920 pm_wakeup_event(dev, 0);
921 921
922 if (pm_wakeup_pending()) { 922 if (pm_wakeup_pending()) {
923 pm_runtime_put_sync(dev); 923 pm_runtime_put(dev);
924 return -EBUSY; 924 return -EBUSY;
925 } 925 }
926 926
@@ -961,7 +961,7 @@ static int pm_genpd_prepare(struct device *dev)
961 pm_runtime_enable(dev); 961 pm_runtime_enable(dev);
962 } 962 }
963 963
964 pm_runtime_put_sync(dev); 964 pm_runtime_put(dev);
965 return ret; 965 return ret;
966} 966}
967 967
@@ -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/**
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 1244930e3d7a..ef13ad08afb2 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1400,5 +1400,5 @@ void pm_runtime_remove(struct device *dev)
1400 if (dev->power.runtime_status == RPM_ACTIVE) 1400 if (dev->power.runtime_status == RPM_ACTIVE)
1401 pm_runtime_set_suspended(dev); 1401 pm_runtime_set_suspended(dev);
1402 if (dev->power.irq_safe && dev->parent) 1402 if (dev->power.irq_safe && dev->parent)
1403 pm_runtime_put_sync(dev->parent); 1403 pm_runtime_put(dev->parent);
1404} 1404}