diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-10-27 20:23:17 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-10-27 20:23:17 -0400 |
commit | 6e2d9b6049df91b1e380fd9d05eb7e585bcf8415 (patch) | |
tree | 36063e72f2759fd728ce846b531d4907f8f52a54 /drivers/base | |
parent | ce6bceabae166c2100133d6306cf3a8b494f3540 (diff) | |
parent | d66e6db28df330c0e5b61f9863754fc2fd37f8ca (diff) |
Merge branch 'pm-runtime'
* pm-runtime:
PM / Runtime: Respect autosuspend when idle triggers suspend
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/power/runtime.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c index 268a35097578..72e00e66ecc5 100644 --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c | |||
@@ -258,7 +258,8 @@ static int __rpm_callback(int (*cb)(struct device *), struct device *dev) | |||
258 | * Check if the device's runtime PM status allows it to be suspended. If | 258 | * Check if the device's runtime PM status allows it to be suspended. If |
259 | * another idle notification has been started earlier, return immediately. If | 259 | * another idle notification has been started earlier, return immediately. If |
260 | * the RPM_ASYNC flag is set then queue an idle-notification request; otherwise | 260 | * the RPM_ASYNC flag is set then queue an idle-notification request; otherwise |
261 | * run the ->runtime_idle() callback directly. | 261 | * run the ->runtime_idle() callback directly. If the ->runtime_idle callback |
262 | * doesn't exist or if it returns 0, call rpm_suspend with the RPM_AUTO flag. | ||
262 | * | 263 | * |
263 | * This function must be called under dev->power.lock with interrupts disabled. | 264 | * This function must be called under dev->power.lock with interrupts disabled. |
264 | */ | 265 | */ |
@@ -331,7 +332,7 @@ static int rpm_idle(struct device *dev, int rpmflags) | |||
331 | 332 | ||
332 | out: | 333 | out: |
333 | trace_rpm_return_int(dev, _THIS_IP_, retval); | 334 | trace_rpm_return_int(dev, _THIS_IP_, retval); |
334 | return retval ? retval : rpm_suspend(dev, rpmflags); | 335 | return retval ? retval : rpm_suspend(dev, rpmflags | RPM_AUTO); |
335 | } | 336 | } |
336 | 337 | ||
337 | /** | 338 | /** |