Hello, (cc'ing Kay for the sysfs tree hierarchy change) On Thu, Nov 10, 2011 at 02:22:42PM +0800, Lin Ming wrote: > These 4 patches add ata port runtime pm support. > > v1: > https://lkml.org/lkml/2011/11/2/23 > > v2 is totally different than v1. > > v1 performed ata port runtime pm through scsi layer. > Added hook to scsi host runtime suspend/resume code. > > I realized that this is not the natural way to do ata port runtime pm. > It does not deal with the races with ata port system suspend/resume. > > With v2, ata port is made to be parent device of scsi host. > > Currently, the device tree of ata port and scsi host looks as below, > > /sys/devices/pci0000:00/0000:00:1f.2 (ahci controller) > |-- ata1 (ata port) > |-- host0 (scsi host) > |-- target0:0:0 (scsi target) > |-- 0:0:0:0 (disk) > > v2 changes it to: > > /sys/devices/pci0000:00/0000:00:1f.2 (ahci controller) > |-- ata1 (ata port) > |-- host0 (scsi host) > |-- target0:0:0 (scsi target) > |-- 0:0:0:0 (disk) > > So ata port runtime PM will happen as: > > disk suspend --> scsi target suspend --> scsi host suspend --> ata port > suspend. > > This is much cleaner and natural. Yeah, I really like this approach. Nicely done. I *think* the hierarchy change should be okay but cc'ing Kay just in case. Acked-by: Tejun Heo <tj@xxxxxxxxxx> Thanks. -- tejun -- 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