On Tue, 2012-02-21 at 11:06 -0500, Alan Stern wrote: > On Tue, 21 Feb 2012, Lin Ming wrote: > > > > Then maybe you can use pm_runtime_no_callbacks() for the ZPODD device. > > > It's explained in Documentation/power/runtime_pm.txt, and I use it for > > > USB interfaces. > > > > If pm_runtime_no_callbacks() is used, runtime PM sysfs attributes > > won't be created. > > Then how to disable ZPODD feature in userspace? > > > > Currently, I use "control" file of scsi device to enable/disable > > ZPODD, for example > > echo auto > /sys/devices/pci0000:00/0000:00:1f.2/ata0/host1/target1:0:0/1:0:0:0/power/control > > echo on > /sys/devices/pci0000:00/0000:00:1f.2/ata0/host1/target1:0:0/1:0:0:0/power/control > > You could get the same result by using the "control" file for the ATA > port. > > > > The idea is that the ZPODD will never receive any runtime PM callbacks > > > from the PM core. �Instead the ATA port callback routines will be > > > responsible for power management of the ZPODD device. > > > > Does the ATA port callback also responsible to resume its child? > > > > For example, > > /sys/devices/pci0000:00/0000:00:1f.2/ata0/host1/target1:0:0/1:0:0:0/ > > > > ata0 is resumed. > > > > Then who will be responsible to resume host1, target1:0:0 and 1:0:0:0? > > > > Or do you mean that we don't need to resume these devices at all? > > host1 and target1:0:0 are logical devices, but I think 1:0:0:0 is not. > > That's right. It makes no difference whether the host and target > are resumed or suspended. In fact, you could also call > pm_runtime_no_callbacks() for them. But host and target are added in scsi layer. How do we know if they are "logical device"? Or do you mean that we can call pm_runtime_no_callbacks() for them because scsi layer(scsi_pm.c) only implements runtime pm for scsi device. Thanks, Lin Ming > > Alan Stern > -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html