RPM_AUTO
rpm_suspend(dev, RPM_NOWAIT | RPM_AUTO);
(RPM_ASYNC | RPM_AUTO) : RPM_ASYNC);
rpm_idle(dev, RPM_AUTO | RPM_ASYNC);
trace_rpm_usage(dev, RPM_AUTO | RPM_ASYNC);
rpm_idle(dev, RPM_AUTO);
return retval ? retval : rpm_suspend(dev, rpmflags | RPM_AUTO);
if ((rpmflags & RPM_AUTO) && dev->power.runtime_status != RPM_SUSPENDING) {
dev->power.request = (rpmflags & RPM_AUTO) ?
if (!dev->power.runtime_error && (rpmflags & RPM_AUTO) &&
return __pm_runtime_suspend(dev, RPM_AUTO);
return __pm_runtime_suspend(dev, RPM_ASYNC | RPM_AUTO);
return __pm_runtime_suspend(dev, RPM_GET_PUT | RPM_ASYNC | RPM_AUTO);
return __pm_runtime_suspend(dev, RPM_GET_PUT | RPM_AUTO);