scsi_pm.c (6e9041c6ddd6cbdc61d87bcaca8ca7bb17c28377) scsi_pm.c (45f0a85c8258741d11bda25c0a5669c06267204a)
1/*
2 * scsi_pm.c Copyright (C) 2010 Alan Stern
3 *
4 * SCSI dynamic Power Management
5 * Initial version: Alan Stern <stern@rowland.harvard.edu>
6 */
7
8#include <linux/pm_runtime.h>

--- 215 unchanged lines hidden (view full) ---

224
225 /* Insert hooks here for targets, hosts, and transport classes */
226
227 return err;
228}
229
230static int scsi_runtime_idle(struct device *dev)
231{
1/*
2 * scsi_pm.c Copyright (C) 2010 Alan Stern
3 *
4 * SCSI dynamic Power Management
5 * Initial version: Alan Stern <stern@rowland.harvard.edu>
6 */
7
8#include <linux/pm_runtime.h>

--- 215 unchanged lines hidden (view full) ---

224
225 /* Insert hooks here for targets, hosts, and transport classes */
226
227 return err;
228}
229
230static int scsi_runtime_idle(struct device *dev)
231{
232 int err;
233
234 dev_dbg(dev, "scsi_runtime_idle\n");
235
236 /* Insert hooks here for targets, hosts, and transport classes */
237
238 if (scsi_is_sdev_device(dev)) {
239 struct scsi_device *sdev = to_scsi_device(dev);
240
241 if (sdev->request_queue->dev) {
242 pm_runtime_mark_last_busy(dev);
232 dev_dbg(dev, "scsi_runtime_idle\n");
233
234 /* Insert hooks here for targets, hosts, and transport classes */
235
236 if (scsi_is_sdev_device(dev)) {
237 struct scsi_device *sdev = to_scsi_device(dev);
238
239 if (sdev->request_queue->dev) {
240 pm_runtime_mark_last_busy(dev);
243 err = pm_runtime_autosuspend(dev);
244 } else {
245 err = pm_runtime_suspend(dev);
241 pm_runtime_autosuspend(dev);
242 return -EBUSY;
246 }
243 }
247 } else {
248 err = pm_runtime_suspend(dev);
249 }
244 }
250 return err;
245 return 0;
251}
252
253int scsi_autopm_get_device(struct scsi_device *sdev)
254{
255 int err;
256
257 err = pm_runtime_get_sync(&sdev->sdev_gendev);
258 if (err < 0 && err !=-EACCES)

--- 60 unchanged lines hidden ---
246}
247
248int scsi_autopm_get_device(struct scsi_device *sdev)
249{
250 int err;
251
252 err = pm_runtime_get_sync(&sdev->sdev_gendev);
253 if (err < 0 && err !=-EACCES)

--- 60 unchanged lines hidden ---