Beispiel #1
0
static int sdev_blk_runtime_suspend(struct scsi_device *sdev,
                                    int (*cb)(struct device *))
{
    int err;

    err = blk_pre_runtime_suspend(sdev->request_queue);
    if (err)
        return err;
    if (cb)
        err = cb(&sdev->sdev_gendev);
    blk_post_runtime_suspend(sdev->request_queue, err);

    return err;
}
Beispiel #2
0
static int sdev_runtime_suspend(struct device *dev)
{
	const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL;
	struct scsi_device *sdev = to_scsi_device(dev);
	int err = 0;

	err = blk_pre_runtime_suspend(sdev->request_queue);
	if (err)
		return err;
	if (pm && pm->runtime_suspend)
		err = pm->runtime_suspend(dev);
	blk_post_runtime_suspend(sdev->request_queue, err);

	return err;
}