| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * scsi_pm.c Copyright (C) 2010 Alan Stern |
|---|
| 3 | 4 | * |
|---|
| .. | .. |
|---|
| 8 | 9 | #include <linux/pm_runtime.h> |
|---|
| 9 | 10 | #include <linux/export.h> |
|---|
| 10 | 11 | #include <linux/async.h> |
|---|
| 12 | +#include <linux/blk-pm.h> |
|---|
| 11 | 13 | |
|---|
| 12 | 14 | #include <scsi/scsi.h> |
|---|
| 13 | 15 | #include <scsi/scsi_device.h> |
|---|
| .. | .. |
|---|
| 92 | 94 | if (!err && scsi_is_sdev_device(dev)) { |
|---|
| 93 | 95 | struct scsi_device *sdev = to_scsi_device(dev); |
|---|
| 94 | 96 | |
|---|
| 95 | | - if (sdev->request_queue->dev) |
|---|
| 96 | | - blk_set_runtime_active(sdev->request_queue); |
|---|
| 97 | + blk_set_runtime_active(sdev->request_queue); |
|---|
| 97 | 98 | } |
|---|
| 98 | 99 | } |
|---|
| 99 | 100 | |
|---|
| .. | .. |
|---|
| 174 | 175 | |
|---|
| 175 | 176 | static int scsi_bus_prepare(struct device *dev) |
|---|
| 176 | 177 | { |
|---|
| 177 | | - if (scsi_is_sdev_device(dev)) { |
|---|
| 178 | | - /* sd probing uses async_schedule. Wait until it finishes. */ |
|---|
| 179 | | - async_synchronize_full_domain(&scsi_sd_probe_domain); |
|---|
| 180 | | - |
|---|
| 181 | | - } else if (scsi_is_host_device(dev)) { |
|---|
| 178 | + if (scsi_is_host_device(dev)) { |
|---|
| 182 | 179 | /* Wait until async scanning is finished */ |
|---|
| 183 | 180 | scsi_complete_async_scans(); |
|---|
| 184 | 181 | } |
|---|
| .. | .. |
|---|
| 265 | 262 | blk_pre_runtime_resume(sdev->request_queue); |
|---|
| 266 | 263 | if (pm && pm->runtime_resume) |
|---|
| 267 | 264 | err = pm->runtime_resume(dev); |
|---|
| 268 | | - blk_post_runtime_resume(sdev->request_queue, err); |
|---|
| 265 | + blk_post_runtime_resume(sdev->request_queue); |
|---|
| 269 | 266 | |
|---|
| 270 | 267 | return err; |
|---|
| 271 | 268 | } |
|---|