Loading Documentation/power/runtime_pm.txt +5 −4 Original line number Diff line number Diff line Loading @@ -642,12 +642,13 @@ out the following operations: * During system suspend it calls pm_runtime_get_noresume() and pm_runtime_barrier() for every device right before executing the subsystem-level .suspend() callback for it. In addition to that it calls pm_runtime_disable() for every device right after executing the subsystem-level .suspend() callback for it. __pm_runtime_disable() with 'false' as the second argument for every device right before executing the subsystem-level .suspend_late() callback for it. * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync() for every device right before and right after executing the subsystem-level .resume() callback for it, respectively. for every device right after executing the subsystem-level .resume_early() callback and right after executing the subsystem-level .resume() callback for it, respectively. 7. Generic subsystem callbacks Loading drivers/base/power/main.c +4 −5 Original line number Diff line number Diff line Loading @@ -513,6 +513,8 @@ static int device_resume_early(struct device *dev, pm_message_t state) Out: TRACE_RESUME(error); pm_runtime_enable(dev); return error; } Loading Loading @@ -589,8 +591,6 @@ static int device_resume(struct device *dev, pm_message_t state, bool async) if (!dev->power.is_suspended) goto Unlock; pm_runtime_enable(dev); if (dev->pm_domain) { info = "power domain "; callback = pm_op(&dev->pm_domain->ops, state); Loading Loading @@ -930,6 +930,8 @@ static int device_suspend_late(struct device *dev, pm_message_t state) pm_callback_t callback = NULL; char *info = NULL; __pm_runtime_disable(dev, false); if (dev->power.syscore) return 0; Loading Loading @@ -1133,11 +1135,8 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) Complete: complete_all(&dev->power.completion); if (error) async_error = error; else if (dev->power.is_suspended) __pm_runtime_disable(dev, false); return error; } Loading Loading
Documentation/power/runtime_pm.txt +5 −4 Original line number Diff line number Diff line Loading @@ -642,12 +642,13 @@ out the following operations: * During system suspend it calls pm_runtime_get_noresume() and pm_runtime_barrier() for every device right before executing the subsystem-level .suspend() callback for it. In addition to that it calls pm_runtime_disable() for every device right after executing the subsystem-level .suspend() callback for it. __pm_runtime_disable() with 'false' as the second argument for every device right before executing the subsystem-level .suspend_late() callback for it. * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync() for every device right before and right after executing the subsystem-level .resume() callback for it, respectively. for every device right after executing the subsystem-level .resume_early() callback and right after executing the subsystem-level .resume() callback for it, respectively. 7. Generic subsystem callbacks Loading
drivers/base/power/main.c +4 −5 Original line number Diff line number Diff line Loading @@ -513,6 +513,8 @@ static int device_resume_early(struct device *dev, pm_message_t state) Out: TRACE_RESUME(error); pm_runtime_enable(dev); return error; } Loading Loading @@ -589,8 +591,6 @@ static int device_resume(struct device *dev, pm_message_t state, bool async) if (!dev->power.is_suspended) goto Unlock; pm_runtime_enable(dev); if (dev->pm_domain) { info = "power domain "; callback = pm_op(&dev->pm_domain->ops, state); Loading Loading @@ -930,6 +930,8 @@ static int device_suspend_late(struct device *dev, pm_message_t state) pm_callback_t callback = NULL; char *info = NULL; __pm_runtime_disable(dev, false); if (dev->power.syscore) return 0; Loading Loading @@ -1133,11 +1135,8 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) Complete: complete_all(&dev->power.completion); if (error) async_error = error; else if (dev->power.is_suspended) __pm_runtime_disable(dev, false); return error; } Loading