aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-pmp.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-04-07 09:47:22 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:25 -0400
commit071f44b1d2c051641b62a3571223314737ccbe59 (patch)
treea07794c8109e5d82a78223ae0159eadbf862c463 /drivers/ata/libata-pmp.c
parent48515f6c006c2a9d7b624ee8ad068018c2d3fe0e (diff)
libata: implement PMP helpers
Implement helpers to test whether PMP is supported, attached and determine pmp number to use when issuing SRST to a link. While at it, move ata_is_host_link() so that it's together with the two new PMP helpers. This change simplifies LLDs and helps making PMP support optional. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/libata-pmp.c')
-rw-r--r--drivers/ata/libata-pmp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c
index bb10c0630791..ff1822a7da38 100644
--- a/drivers/ata/libata-pmp.c
+++ b/drivers/ata/libata-pmp.c
@@ -411,7 +411,7 @@ int sata_pmp_attach(struct ata_device *dev)
411 int rc; 411 int rc;
412 412
413 /* is it hanging off the right place? */ 413 /* is it hanging off the right place? */
414 if (!(ap->flags & ATA_FLAG_PMP)) { 414 if (!sata_pmp_supported(ap)) {
415 ata_dev_printk(dev, KERN_ERR, 415 ata_dev_printk(dev, KERN_ERR,
416 "host does not support Port Multiplier\n"); 416 "host does not support Port Multiplier\n");
417 return -EINVAL; 417 return -EINVAL;
@@ -876,7 +876,7 @@ static int sata_pmp_eh_recover(struct ata_port *ap)
876 876
877 retry: 877 retry:
878 /* PMP attached? */ 878 /* PMP attached? */
879 if (!ap->nr_pmp_links) { 879 if (!sata_pmp_attached(ap)) {
880 rc = ata_eh_recover(ap, ops->prereset, ops->softreset, 880 rc = ata_eh_recover(ap, ops->prereset, ops->softreset,
881 ops->hardreset, ops->postreset, NULL); 881 ops->hardreset, ops->postreset, NULL);
882 if (rc) { 882 if (rc) {
@@ -983,7 +983,7 @@ static int sata_pmp_eh_recover(struct ata_port *ap)
983 if (ap->pflags & ATA_PFLAG_UNLOADING) 983 if (ap->pflags & ATA_PFLAG_UNLOADING)
984 return rc; 984 return rc;
985 985
986 if (!ap->nr_pmp_links) 986 if (!sata_pmp_attached(ap))
987 goto retry; 987 goto retry;
988 988
989 if (--pmp_tries) { 989 if (--pmp_tries) {