RPM_ASYNC
(RPM_ASYNC | RPM_AUTO) : RPM_ASYNC);
retval = rpm_suspend(dev, RPM_ASYNC);
might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe);
might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe);
might_sleep_if(!(rpmflags & RPM_ASYNC) && !dev->power.irq_safe &&
rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
trace_rpm_usage(dev, RPM_AUTO | RPM_ASYNC);
if (rpmflags & RPM_ASYNC) {
if (dev->power.runtime_status == RPM_RESUMING && !(rpmflags & RPM_ASYNC))
if (rpmflags & (RPM_ASYNC | RPM_NOWAIT)) {
if (rpmflags & RPM_ASYNC) {
rpm_idle(parent, RPM_ASYNC);
if (rpmflags & (RPM_ASYNC | RPM_NOWAIT)) {
if (rpmflags & RPM_ASYNC) {
rpm_idle(dev, RPM_ASYNC);
return __pm_runtime_idle(dev, RPM_ASYNC);
return __pm_runtime_resume(dev, RPM_ASYNC);
return __pm_runtime_suspend(dev, RPM_ASYNC | RPM_AUTO);
return __pm_runtime_resume(dev, RPM_GET_PUT | RPM_ASYNC);
__pm_runtime_idle(dev, RPM_GET_PUT | RPM_ASYNC);
return __pm_runtime_suspend(dev, RPM_GET_PUT | RPM_ASYNC | RPM_AUTO);