Ejemplo n.º 1
0
static int sdev_runtime_resume(struct device *dev)
{
    struct scsi_device *sdev = to_scsi_device(dev);
    const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
    int (*cb)(struct device *) = pm ? pm->runtime_resume : NULL;

    if (sdev->request_queue->dev)
        return sdev_blk_runtime_resume(sdev, cb);
    else
        return scsi_dev_type_resume(dev, cb);
}
Ejemplo n.º 2
0
static int scsi_runtime_resume(struct device *dev)
{
	int err = 0;

	dev_dbg(dev, "scsi_runtime_resume\n");
	if (scsi_is_sdev_device(dev))
		err = scsi_dev_type_resume(dev);

	/* Insert hooks here for targets, hosts, and transport classes */

	return err;
}
Ejemplo n.º 3
0
static int scsi_runtime_resume(struct device *dev)
{
	int err = 0;

	dev_dbg(dev, "scsi_runtime_resume\n");
	if (scsi_is_sdev_device(dev))
		err = scsi_dev_type_resume(dev);

	

	return err;
}
Ejemplo n.º 4
0
static int scsi_bus_resume_common(struct device *dev)
{
	int err = 0;

	if (scsi_is_sdev_device(dev))
		err = scsi_dev_type_resume(dev);

	if (err == 0) {
		pm_runtime_disable(dev);
		pm_runtime_set_active(dev);
		pm_runtime_enable(dev);
	}
	return err;
}
Ejemplo n.º 5
0
static int scsi_bus_resume_common(struct device *dev)
{
	int err = 0;

	if (scsi_is_sdev_device(dev)) {
		/*
		 * Parent device may have runtime suspended as soon as
		 * it is woken up during the system resume.
		 *
		 * Resume it on behalf of child.
		 */
		pm_runtime_get_sync(dev->parent);
		err = scsi_dev_type_resume(dev);
		pm_runtime_put_sync(dev->parent);
	}

	if (err == 0) {
		pm_runtime_disable(dev);
		pm_runtime_set_active(dev);
		pm_runtime_enable(dev);
	}
	return err;
}
Ejemplo n.º 6
0
static void async_sdev_restore(void *dev, async_cookie_t cookie)
{
	scsi_dev_type_resume(dev, do_scsi_restore);
}
Ejemplo n.º 7
0
static void async_sdev_thaw(void *dev, async_cookie_t cookie)
{
	scsi_dev_type_resume(dev, do_scsi_thaw);
}