aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-02-26 20:22:53 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-02-26 20:22:53 -0500
commit06a79b82b2a3e4bebb9a20638ca208c780e9e507 (patch)
tree594a11b60ba56d7ae62f8affa4cd61836e70e4b1 /drivers/scsi
parent4912002fffa377e66c5caefc2c311732a4ad5fb8 (diff)
parenta9c9b4429df437982d2fbfab1f4b46b01329e9ed (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: Fix preallocating of memory PM / Hibernate: Remove swsusp.c finally PM / Hibernate: Remove trailing space in message PM: Allow SCSI devices to suspend/resume asynchronously PM: Allow USB devices to suspend/resume asynchronously USB: implement non-tree resume ordering constraints for PCI host controllers PM: Allow PCI devices to suspend/resume asynchronously PM / Hibernate: Swap, remove useless check from swsusp_read() PM / Hibernate: Really deprecate deprecated user ioctls PM: Allow device drivers to use dpm_wait() PM: Start asynchronous resume threads upfront PM: Add facility for advanced testing of async suspend/resume PM: Add a switch for disabling/enabling asynchronous suspend/resume PM: Asynchronous suspend and resume of devices PM: Add parent information to timing messages PM: Document device power attributes in sysfs PM / Runtime: Add sysfs switch for disabling device run-time PM
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/hosts.c4
-rw-r--r--drivers/scsi/scsi_sysfs.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index 554626e18062..09dbcb847b73 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -215,6 +215,8 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,
215 shost->shost_gendev.parent = dev ? dev : &platform_bus; 215 shost->shost_gendev.parent = dev ? dev : &platform_bus;
216 shost->dma_dev = dma_dev; 216 shost->dma_dev = dma_dev;
217 217
218 device_enable_async_suspend(&shost->shost_gendev);
219
218 error = device_add(&shost->shost_gendev); 220 error = device_add(&shost->shost_gendev);
219 if (error) 221 if (error)
220 goto out; 222 goto out;
@@ -222,6 +224,8 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,
222 scsi_host_set_state(shost, SHOST_RUNNING); 224 scsi_host_set_state(shost, SHOST_RUNNING);
223 get_device(shost->shost_gendev.parent); 225 get_device(shost->shost_gendev.parent);
224 226
227 device_enable_async_suspend(&shost->shost_dev);
228
225 error = device_add(&shost->shost_dev); 229 error = device_add(&shost->shost_dev);
226 if (error) 230 if (error)
227 goto out_del_gendev; 231 goto out_del_gendev;
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index a4936c4e2f46..19ec9e2d3f39 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -847,6 +847,8 @@ static int scsi_target_add(struct scsi_target *starget)
847 if (starget->state != STARGET_CREATED) 847 if (starget->state != STARGET_CREATED)
848 return 0; 848 return 0;
849 849
850 device_enable_async_suspend(&starget->dev);
851
850 error = device_add(&starget->dev); 852 error = device_add(&starget->dev);
851 if (error) { 853 if (error) {
852 dev_err(&starget->dev, "target device_add failed, error %d\n", error); 854 dev_err(&starget->dev, "target device_add failed, error %d\n", error);
@@ -887,11 +889,13 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
887 return error; 889 return error;
888 890
889 transport_configure_device(&starget->dev); 891 transport_configure_device(&starget->dev);
892 device_enable_async_suspend(&sdev->sdev_gendev);
890 error = device_add(&sdev->sdev_gendev); 893 error = device_add(&sdev->sdev_gendev);
891 if (error) { 894 if (error) {
892 printk(KERN_INFO "error 1\n"); 895 printk(KERN_INFO "error 1\n");
893 return error; 896 return error;
894 } 897 }
898 device_enable_async_suspend(&sdev->sdev_dev);
895 error = device_add(&sdev->sdev_dev); 899 error = device_add(&sdev->sdev_dev);
896 if (error) { 900 if (error) {
897 printk(KERN_INFO "error 2\n"); 901 printk(KERN_INFO "error 2\n");