[SCSI] libata: export ata_port suspend/resume infrastructure for sas
authorDan Williams <dan.j.williams@intel.com>
Fri, 22 Jun 2012 06:41:46 +0000 (23:41 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 24 Aug 2012 09:10:23 +0000 (13:10 +0400)
commit2fcbdcb4c802fe40d6827dbc365dac90cfe8c0a3
treed4a583b2477afcf474a4ec226406748d9a327613
parentca6d43b051b5a061b33c43303b6b4c93b46a34b5
[SCSI] libata: export ata_port suspend/resume infrastructure for sas

Reuse ata_port_{suspend|resume}_common for sas.  This path is chosen
over adding coordination between ata-tranport and sas-transport because
libsas wants to revalidate the domain at resume-time at the host level.
It can not validate links have resumed properly until libata has had a
chance to perform its revalidation, and any sane placing of an ata_port
in the sas-transport model would delay it's resumption until after the
host.

Export the common portion of port suspend/resume (bypass pm_runtime),
and allow sas to perform these operations asynchronously (similar to the
libsas async-ata probe implmentation).  Async operation is determined by
having an external, rather than stack based, location for storing the
result of the operation.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Jacek Danecki <jacek.danecki@intel.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/ata/libata-core.c
include/linux/libata.h