]> git.karo-electronics.de Git - karo-tx-linux.git/commit
libata: export ata_port suspend/resume infrastructure for sas
authorDan Williams <dan.j.williams@intel.com>
Thu, 22 Mar 2012 04:09:08 +0000 (21:09 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 13 Apr 2012 06:20:50 +0000 (23:20 -0700)
commitd5f97f9c980166d16077d9aa6d4d13e90330123d
treef16021c1083e36de6e2cfef039ca294f541e33e4
parentfa0bfc4e3903481ab574762acce1c8ffc15e5d02
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.

Reviewed-by: Jacek Danecki <jacek.danecki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/ata/libata-core.c
include/linux/libata.h