Re: [RFC PATCH 2/6] ACPI: Reference devices in ACPI Power Resource
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2012-02-21 16:06:42
Also in:
linux-scsi, lkml
On Tue, 21 Feb 2012, Lin Ming wrote:
quoted
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.
quoted
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