diff options
author | Tejun Heo <htejun@gmail.com> | 2008-04-07 09:47:22 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:44:25 -0400 |
commit | 071f44b1d2c051641b62a3571223314737ccbe59 (patch) | |
tree | a07794c8109e5d82a78223ae0159eadbf862c463 /drivers/ata/libata-pmp.c | |
parent | 48515f6c006c2a9d7b624ee8ad068018c2d3fe0e (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.c | 6 |
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) { |