Lines Matching refs:dev

21 static int do_scsi_suspend(struct device *dev, const struct dev_pm_ops *pm)  in do_scsi_suspend()  argument
23 return pm && pm->suspend ? pm->suspend(dev) : 0; in do_scsi_suspend()
26 static int do_scsi_freeze(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_freeze() argument
28 return pm && pm->freeze ? pm->freeze(dev) : 0; in do_scsi_freeze()
31 static int do_scsi_poweroff(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_poweroff() argument
33 return pm && pm->poweroff ? pm->poweroff(dev) : 0; in do_scsi_poweroff()
36 static int do_scsi_resume(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_resume() argument
38 return pm && pm->resume ? pm->resume(dev) : 0; in do_scsi_resume()
41 static int do_scsi_thaw(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_thaw() argument
43 return pm && pm->thaw ? pm->thaw(dev) : 0; in do_scsi_thaw()
46 static int do_scsi_restore(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_restore() argument
48 return pm && pm->restore ? pm->restore(dev) : 0; in do_scsi_restore()
51 static int scsi_dev_type_suspend(struct device *dev, in scsi_dev_type_suspend() argument
54 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in scsi_dev_type_suspend()
60 err = scsi_device_quiesce(to_scsi_device(dev)); in scsi_dev_type_suspend()
62 err = cb(dev, pm); in scsi_dev_type_suspend()
64 scsi_device_resume(to_scsi_device(dev)); in scsi_dev_type_suspend()
66 dev_dbg(dev, "scsi suspend: %d\n", err); in scsi_dev_type_suspend()
70 static int scsi_dev_type_resume(struct device *dev, in scsi_dev_type_resume() argument
73 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in scsi_dev_type_resume()
76 err = cb(dev, pm); in scsi_dev_type_resume()
77 scsi_device_resume(to_scsi_device(dev)); in scsi_dev_type_resume()
78 dev_dbg(dev, "scsi resume: %d\n", err); in scsi_dev_type_resume()
81 pm_runtime_disable(dev); in scsi_dev_type_resume()
82 pm_runtime_set_active(dev); in scsi_dev_type_resume()
83 pm_runtime_enable(dev); in scsi_dev_type_resume()
90 scsi_bus_suspend_common(struct device *dev, in scsi_bus_suspend_common() argument
95 if (scsi_is_sdev_device(dev)) { in scsi_bus_suspend_common()
102 if (pm_runtime_suspended(dev)) in scsi_bus_suspend_common()
105 err = scsi_dev_type_suspend(dev, cb); in scsi_bus_suspend_common()
111 static void async_sdev_resume(void *dev, async_cookie_t cookie) in async_sdev_resume() argument
113 scsi_dev_type_resume(dev, do_scsi_resume); in async_sdev_resume()
116 static void async_sdev_thaw(void *dev, async_cookie_t cookie) in async_sdev_thaw() argument
118 scsi_dev_type_resume(dev, do_scsi_thaw); in async_sdev_thaw()
121 static void async_sdev_restore(void *dev, async_cookie_t cookie) in async_sdev_restore() argument
123 scsi_dev_type_resume(dev, do_scsi_restore); in async_sdev_restore()
126 static int scsi_bus_resume_common(struct device *dev, in scsi_bus_resume_common() argument
131 if (!scsi_is_sdev_device(dev)) in scsi_bus_resume_common()
143 async_schedule_domain(fn, dev, &scsi_sd_pm_domain); in scsi_bus_resume_common()
154 pm_runtime_disable(dev); in scsi_bus_resume_common()
155 pm_runtime_set_active(dev); in scsi_bus_resume_common()
156 pm_runtime_enable(dev); in scsi_bus_resume_common()
161 static int scsi_bus_prepare(struct device *dev) in scsi_bus_prepare() argument
163 if (scsi_is_sdev_device(dev)) { in scsi_bus_prepare()
167 } else if (scsi_is_host_device(dev)) { in scsi_bus_prepare()
174 static int scsi_bus_suspend(struct device *dev) in scsi_bus_suspend() argument
176 return scsi_bus_suspend_common(dev, do_scsi_suspend); in scsi_bus_suspend()
179 static int scsi_bus_resume(struct device *dev) in scsi_bus_resume() argument
181 return scsi_bus_resume_common(dev, do_scsi_resume); in scsi_bus_resume()
184 static int scsi_bus_freeze(struct device *dev) in scsi_bus_freeze() argument
186 return scsi_bus_suspend_common(dev, do_scsi_freeze); in scsi_bus_freeze()
189 static int scsi_bus_thaw(struct device *dev) in scsi_bus_thaw() argument
191 return scsi_bus_resume_common(dev, do_scsi_thaw); in scsi_bus_thaw()
194 static int scsi_bus_poweroff(struct device *dev) in scsi_bus_poweroff() argument
196 return scsi_bus_suspend_common(dev, do_scsi_poweroff); in scsi_bus_poweroff()
199 static int scsi_bus_restore(struct device *dev) in scsi_bus_restore() argument
201 return scsi_bus_resume_common(dev, do_scsi_restore); in scsi_bus_restore()
216 static int sdev_runtime_suspend(struct device *dev) in sdev_runtime_suspend() argument
218 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in sdev_runtime_suspend()
219 struct scsi_device *sdev = to_scsi_device(dev); in sdev_runtime_suspend()
226 err = pm->runtime_suspend(dev); in sdev_runtime_suspend()
232 static int scsi_runtime_suspend(struct device *dev) in scsi_runtime_suspend() argument
236 dev_dbg(dev, "scsi_runtime_suspend\n"); in scsi_runtime_suspend()
237 if (scsi_is_sdev_device(dev)) in scsi_runtime_suspend()
238 err = sdev_runtime_suspend(dev); in scsi_runtime_suspend()
245 static int sdev_runtime_resume(struct device *dev) in sdev_runtime_resume() argument
247 struct scsi_device *sdev = to_scsi_device(dev); in sdev_runtime_resume()
248 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in sdev_runtime_resume()
253 err = pm->runtime_resume(dev); in sdev_runtime_resume()
259 static int scsi_runtime_resume(struct device *dev) in scsi_runtime_resume() argument
263 dev_dbg(dev, "scsi_runtime_resume\n"); in scsi_runtime_resume()
264 if (scsi_is_sdev_device(dev)) in scsi_runtime_resume()
265 err = sdev_runtime_resume(dev); in scsi_runtime_resume()
272 static int scsi_runtime_idle(struct device *dev) in scsi_runtime_idle() argument
274 dev_dbg(dev, "scsi_runtime_idle\n"); in scsi_runtime_idle()
278 if (scsi_is_sdev_device(dev)) { in scsi_runtime_idle()
279 pm_runtime_mark_last_busy(dev); in scsi_runtime_idle()
280 pm_runtime_autosuspend(dev); in scsi_runtime_idle()
308 pm_runtime_get_sync(&starget->dev); in scsi_autopm_get_target()
313 pm_runtime_put_sync(&starget->dev); in scsi_autopm_put_target()