Lines Matching refs:state
206 int error, pm_message_t state, char *info) in initcall_debug_report() argument
250 static pm_callback_t pm_op(const struct dev_pm_ops *ops, pm_message_t state) in pm_op() argument
252 switch (state.event) { in pm_op()
285 pm_message_t state) in pm_late_early_op() argument
287 switch (state.event) { in pm_late_early_op()
319 static pm_callback_t pm_noirq_op(const struct dev_pm_ops *ops, pm_message_t state) in pm_noirq_op() argument
321 switch (state.event) { in pm_noirq_op()
345 static void pm_dev_dbg(struct device *dev, pm_message_t state, char *info) in pm_dev_dbg() argument
347 dev_dbg(dev, "%s%s%s\n", info, pm_verb(state.event), in pm_dev_dbg()
348 ((state.event & PM_EVENT_SLEEP) && device_may_wakeup(dev)) ? in pm_dev_dbg()
352 static void pm_dev_err(struct device *dev, pm_message_t state, char *info, in pm_dev_err() argument
356 dev_name(dev), pm_verb(state.event), info, error); in pm_dev_err()
359 static void dpm_show_time(ktime_t starttime, pm_message_t state, char *info) in dpm_show_time() argument
372 info ?: "", info ? " " : "", pm_verb(state.event), in dpm_show_time()
377 pm_message_t state, char *info) in dpm_run_callback() argument
387 pm_dev_dbg(dev, state, info); in dpm_run_callback()
388 trace_device_pm_callback_start(dev, info, state.event); in dpm_run_callback()
393 initcall_debug_report(dev, calltime, error, state, info); in dpm_run_callback()
474 static int device_resume_noirq(struct device *dev, pm_message_t state, bool async) in device_resume_noirq() argument
493 callback = pm_noirq_op(&dev->pm_domain->ops, state); in device_resume_noirq()
496 callback = pm_noirq_op(dev->type->pm, state); in device_resume_noirq()
499 callback = pm_noirq_op(dev->class->pm, state); in device_resume_noirq()
502 callback = pm_noirq_op(dev->bus->pm, state); in device_resume_noirq()
507 callback = pm_noirq_op(dev->driver->pm, state); in device_resume_noirq()
510 error = dpm_run_callback(callback, dev, state, info); in device_resume_noirq()
544 void dpm_resume_noirq(pm_message_t state) in dpm_resume_noirq() argument
549 trace_suspend_resume(TPS("dpm_resume_noirq"), state.event, true); in dpm_resume_noirq()
551 pm_transition = state; in dpm_resume_noirq()
575 error = device_resume_noirq(dev, state, false); in dpm_resume_noirq()
580 pm_dev_err(dev, state, " noirq", error); in dpm_resume_noirq()
589 dpm_show_time(starttime, state, "noirq"); in dpm_resume_noirq()
593 trace_suspend_resume(TPS("dpm_resume_noirq"), state.event, false); in dpm_resume_noirq()
604 static int device_resume_early(struct device *dev, pm_message_t state, bool async) in device_resume_early() argument
623 callback = pm_late_early_op(&dev->pm_domain->ops, state); in device_resume_early()
626 callback = pm_late_early_op(dev->type->pm, state); in device_resume_early()
629 callback = pm_late_early_op(dev->class->pm, state); in device_resume_early()
632 callback = pm_late_early_op(dev->bus->pm, state); in device_resume_early()
637 callback = pm_late_early_op(dev->driver->pm, state); in device_resume_early()
640 error = dpm_run_callback(callback, dev, state, info); in device_resume_early()
667 void dpm_resume_early(pm_message_t state) in dpm_resume_early() argument
672 trace_suspend_resume(TPS("dpm_resume_early"), state.event, true); in dpm_resume_early()
674 pm_transition = state; in dpm_resume_early()
698 error = device_resume_early(dev, state, false); in dpm_resume_early()
703 pm_dev_err(dev, state, " early", error); in dpm_resume_early()
711 dpm_show_time(starttime, state, "early"); in dpm_resume_early()
712 trace_suspend_resume(TPS("dpm_resume_early"), state.event, false); in dpm_resume_early()
719 void dpm_resume_start(pm_message_t state) in dpm_resume_start() argument
721 dpm_resume_noirq(state); in dpm_resume_start()
722 dpm_resume_early(state); in dpm_resume_start()
732 static int device_resume(struct device *dev, pm_message_t state, bool async) in device_resume() argument
766 callback = pm_op(&dev->pm_domain->ops, state); in device_resume()
772 callback = pm_op(dev->type->pm, state); in device_resume()
779 callback = pm_op(dev->class->pm, state); in device_resume()
791 callback = pm_op(dev->bus->pm, state); in device_resume()
802 callback = pm_op(dev->driver->pm, state); in device_resume()
806 error = dpm_run_callback(callback, dev, state, info); in device_resume()
839 void dpm_resume(pm_message_t state) in dpm_resume() argument
844 trace_suspend_resume(TPS("dpm_resume"), state.event, true); in dpm_resume()
848 pm_transition = state; in dpm_resume()
867 error = device_resume(dev, state, false); in dpm_resume()
872 pm_dev_err(dev, state, "", error); in dpm_resume()
883 dpm_show_time(starttime, state, NULL); in dpm_resume()
886 trace_suspend_resume(TPS("dpm_resume"), state.event, false); in dpm_resume()
894 static void device_complete(struct device *dev, pm_message_t state) in device_complete() argument
924 pm_dev_dbg(dev, state, info); in device_complete()
940 void dpm_complete(pm_message_t state) in dpm_complete() argument
944 trace_suspend_resume(TPS("dpm_complete"), state.event, true); in dpm_complete()
957 trace_device_pm_callback_start(dev, "", state.event); in dpm_complete()
958 device_complete(dev, state); in dpm_complete()
966 trace_suspend_resume(TPS("dpm_complete"), state.event, false); in dpm_complete()
976 void dpm_resume_end(pm_message_t state) in dpm_resume_end() argument
978 dpm_resume(state); in dpm_resume_end()
979 dpm_complete(state); in dpm_resume_end()
1016 static int __device_suspend_noirq(struct device *dev, pm_message_t state, bool async) in __device_suspend_noirq() argument
1040 callback = pm_noirq_op(&dev->pm_domain->ops, state); in __device_suspend_noirq()
1043 callback = pm_noirq_op(dev->type->pm, state); in __device_suspend_noirq()
1046 callback = pm_noirq_op(dev->class->pm, state); in __device_suspend_noirq()
1049 callback = pm_noirq_op(dev->bus->pm, state); in __device_suspend_noirq()
1054 callback = pm_noirq_op(dev->driver->pm, state); in __device_suspend_noirq()
1057 error = dpm_run_callback(callback, dev, state, info); in __device_suspend_noirq()
1102 int dpm_suspend_noirq(pm_message_t state) in dpm_suspend_noirq() argument
1107 trace_suspend_resume(TPS("dpm_suspend_noirq"), state.event, true); in dpm_suspend_noirq()
1112 pm_transition = state; in dpm_suspend_noirq()
1125 pm_dev_err(dev, state, " noirq", error); in dpm_suspend_noirq()
1145 dpm_resume_noirq(resume_event(state)); in dpm_suspend_noirq()
1147 dpm_show_time(starttime, state, "noirq"); in dpm_suspend_noirq()
1149 trace_suspend_resume(TPS("dpm_suspend_noirq"), state.event, false); in dpm_suspend_noirq()
1161 static int __device_suspend_late(struct device *dev, pm_message_t state, bool async) in __device_suspend_late() argument
1187 callback = pm_late_early_op(&dev->pm_domain->ops, state); in __device_suspend_late()
1190 callback = pm_late_early_op(dev->type->pm, state); in __device_suspend_late()
1193 callback = pm_late_early_op(dev->class->pm, state); in __device_suspend_late()
1196 callback = pm_late_early_op(dev->bus->pm, state); in __device_suspend_late()
1201 callback = pm_late_early_op(dev->driver->pm, state); in __device_suspend_late()
1204 error = dpm_run_callback(callback, dev, state, info); in __device_suspend_late()
1246 int dpm_suspend_late(pm_message_t state) in dpm_suspend_late() argument
1251 trace_suspend_resume(TPS("dpm_suspend_late"), state.event, true); in dpm_suspend_late()
1253 pm_transition = state; in dpm_suspend_late()
1269 pm_dev_err(dev, state, " late", error); in dpm_suspend_late()
1286 dpm_resume_early(resume_event(state)); in dpm_suspend_late()
1288 dpm_show_time(starttime, state, "late"); in dpm_suspend_late()
1290 trace_suspend_resume(TPS("dpm_suspend_late"), state.event, false); in dpm_suspend_late()
1298 int dpm_suspend_end(pm_message_t state) in dpm_suspend_end() argument
1300 int error = dpm_suspend_late(state); in dpm_suspend_end()
1304 error = dpm_suspend_noirq(state); in dpm_suspend_end()
1306 dpm_resume_early(resume_event(state)); in dpm_suspend_end()
1321 static int legacy_suspend(struct device *dev, pm_message_t state, in legacy_suspend() argument
1322 int (*cb)(struct device *dev, pm_message_t state), in legacy_suspend() argument
1330 trace_device_pm_callback_start(dev, info, state.event); in legacy_suspend()
1331 error = cb(dev, state); in legacy_suspend()
1335 initcall_debug_report(dev, calltime, error, state, info); in legacy_suspend()
1346 static int __device_suspend(struct device *dev, pm_message_t state, bool async) in __device_suspend() argument
1394 callback = pm_op(&dev->pm_domain->ops, state); in __device_suspend()
1400 callback = pm_op(dev->type->pm, state); in __device_suspend()
1407 callback = pm_op(dev->class->pm, state); in __device_suspend()
1410 pm_dev_dbg(dev, state, "legacy class "); in __device_suspend()
1411 error = legacy_suspend(dev, state, dev->class->suspend, in __device_suspend()
1420 callback = pm_op(dev->bus->pm, state); in __device_suspend()
1422 pm_dev_dbg(dev, state, "legacy bus "); in __device_suspend()
1423 error = legacy_suspend(dev, state, dev->bus->suspend, in __device_suspend()
1432 callback = pm_op(dev->driver->pm, state); in __device_suspend()
1435 error = dpm_run_callback(callback, dev, state, info); in __device_suspend()
1497 int dpm_suspend(pm_message_t state) in dpm_suspend() argument
1502 trace_suspend_resume(TPS("dpm_suspend"), state.event, true); in dpm_suspend()
1508 pm_transition = state; in dpm_suspend()
1520 pm_dev_err(dev, state, "", error); in dpm_suspend()
1539 dpm_show_time(starttime, state, NULL); in dpm_suspend()
1540 trace_suspend_resume(TPS("dpm_suspend"), state.event, false); in dpm_suspend()
1552 static int device_prepare(struct device *dev, pm_message_t state) in device_prepare() argument
1610 dev->power.direct_complete = ret > 0 && state.event == PM_EVENT_SUSPEND; in device_prepare()
1621 int dpm_prepare(pm_message_t state) in dpm_prepare() argument
1625 trace_suspend_resume(TPS("dpm_prepare"), state.event, true); in dpm_prepare()
1635 trace_device_pm_callback_start(dev, "", state.event); in dpm_prepare()
1636 error = device_prepare(dev, state); in dpm_prepare()
1658 trace_suspend_resume(TPS("dpm_prepare"), state.event, false); in dpm_prepare()
1669 int dpm_suspend_start(pm_message_t state) in dpm_suspend_start() argument
1673 error = dpm_prepare(state); in dpm_suspend_start()
1678 error = dpm_suspend(state); in dpm_suspend_start()