Re: [PATCH v2 0/4] ata port runtime power management support

From: Tejun Heo
Date: Thu Nov 10 2011 - 10:30:46 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/