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>
This commit is contained in:
parent
31880c37c1
commit
af93933974
|
@ -1327,7 +1327,7 @@ static void pm_genpd_complete(struct device *dev)
|
||||||
pm_generic_complete(dev);
|
pm_generic_complete(dev);
|
||||||
pm_runtime_set_active(dev);
|
pm_runtime_set_active(dev);
|
||||||
pm_runtime_enable(dev);
|
pm_runtime_enable(dev);
|
||||||
pm_runtime_idle(dev);
|
pm_request_idle(dev);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -324,6 +324,6 @@ void pm_generic_complete(struct device *dev)
|
||||||
* Let runtime PM try to suspend devices that haven't been in use before
|
* Let runtime PM try to suspend devices that haven't been in use before
|
||||||
* going into the system-wide sleep state we're resuming from.
|
* going into the system-wide sleep state we're resuming from.
|
||||||
*/
|
*/
|
||||||
pm_runtime_idle(dev);
|
pm_request_idle(dev);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PM_SLEEP */
|
#endif /* CONFIG_PM_SLEEP */
|
||||||
|
|
|
@ -756,7 +756,7 @@ static void device_complete(struct device *dev, pm_message_t state)
|
||||||
|
|
||||||
device_unlock(dev);
|
device_unlock(dev);
|
||||||
|
|
||||||
pm_runtime_put_sync(dev);
|
pm_runtime_put(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue