diff options
author | Tejun Heo <htejun@gmail.com> | 2007-05-04 15:27:47 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-05-11 18:01:03 -0400 |
commit | 9666f4009c22f6520ac3fb8a19c9e32ab973e828 (patch) | |
tree | eaac13cd5890af6298e5576a48c29891f0890bd1 /drivers/ata/sata_nv.c | |
parent | 0a3fd051c7036ef71b58863f8e5da7c3dabd9d3f (diff) |
libata: reimplement suspend/resume support using sdev->manage_start_stop
Reimplement suspend/resume support using sdev->manage_start_stop.
* Device suspend/resume is now SCSI layer's responsibility and the
code is simplified a lot.
* DPM is dropped. This also simplifies code a lot. Suspend/resume
status is port-wide now.
* ata_scsi_device_suspend/resume() and ata_dev_ready() removed.
* Resume now has to wait for disk to spin up before proceeding. I
couldn't find easy way out as libata is in EH waiting for the
disk to be ready and sd is waiting for EH to complete to issue
START_STOP.
* sdev->manage_start_stop is set to 1 in ata_scsi_slave_config().
This fixes spindown on shutdown and suspend-to-disk.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_nv.c')
-rw-r--r-- | drivers/ata/sata_nv.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index a097595d4dc7..6962f8e492f5 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
@@ -325,10 +325,6 @@ static struct scsi_host_template nv_sht = { | |||
325 | .slave_configure = ata_scsi_slave_config, | 325 | .slave_configure = ata_scsi_slave_config, |
326 | .slave_destroy = ata_scsi_slave_destroy, | 326 | .slave_destroy = ata_scsi_slave_destroy, |
327 | .bios_param = ata_std_bios_param, | 327 | .bios_param = ata_std_bios_param, |
328 | #ifdef CONFIG_PM | ||
329 | .suspend = ata_scsi_device_suspend, | ||
330 | .resume = ata_scsi_device_resume, | ||
331 | #endif | ||
332 | }; | 328 | }; |
333 | 329 | ||
334 | static struct scsi_host_template nv_adma_sht = { | 330 | static struct scsi_host_template nv_adma_sht = { |
@@ -347,10 +343,6 @@ static struct scsi_host_template nv_adma_sht = { | |||
347 | .slave_configure = nv_adma_slave_config, | 343 | .slave_configure = nv_adma_slave_config, |
348 | .slave_destroy = ata_scsi_slave_destroy, | 344 | .slave_destroy = ata_scsi_slave_destroy, |
349 | .bios_param = ata_std_bios_param, | 345 | .bios_param = ata_std_bios_param, |
350 | #ifdef CONFIG_PM | ||
351 | .suspend = ata_scsi_device_suspend, | ||
352 | .resume = ata_scsi_device_resume, | ||
353 | #endif | ||
354 | }; | 346 | }; |
355 | 347 | ||
356 | static const struct ata_port_operations nv_generic_ops = { | 348 | static const struct ata_port_operations nv_generic_ops = { |