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. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html