diff options
author | Tejun Heo <htejun@gmail.com> | 2007-08-06 05:36:23 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-12 14:55:30 -0400 |
commit | f58229f8060055b08b34008ea08f31de1e2f003c (patch) | |
tree | 6ca5ef546671cb975ef3632fb032c238eaf1bb4c /drivers/ata/pata_pdc2027x.c | |
parent | 9af5c9c97dc9d599281778864c72b385f0c63341 (diff) |
libata-link: implement and use link/device iterators
Multiple links and different number of devices per link should be
considered to iterate over links and devices. This patch implements
and uses link and device iterators - ata_port_for_each_link() and
ata_link_for_each_dev() - and ata_link_max_devices().
This change makes a lot of functions iterate over only possible
devices instead of from dev 0 to dev ATA_MAX_DEVICES. All such
changes have been examined and nothing should be broken.
While at it, add a separating comment before device helpers to
distinguish them better from link helpers and others.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/pata_pdc2027x.c')
-rw-r--r-- | drivers/ata/pata_pdc2027x.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/ata/pata_pdc2027x.c b/drivers/ata/pata_pdc2027x.c index fa780509a1dc..83c90cabc7ff 100644 --- a/drivers/ata/pata_pdc2027x.c +++ b/drivers/ata/pata_pdc2027x.c | |||
@@ -479,15 +479,14 @@ static void pdc2027x_set_dmamode(struct ata_port *ap, struct ata_device *adev) | |||
479 | */ | 479 | */ |
480 | static int pdc2027x_set_mode(struct ata_port *ap, struct ata_device **r_failed) | 480 | static int pdc2027x_set_mode(struct ata_port *ap, struct ata_device **r_failed) |
481 | { | 481 | { |
482 | int i; | 482 | struct ata_device *dev; |
483 | 483 | int rc; | |
484 | i = ata_do_set_mode(ap, r_failed); | ||
485 | if (i < 0) | ||
486 | return i; | ||
487 | 484 | ||
488 | for (i = 0; i < ATA_MAX_DEVICES; i++) { | 485 | rc = ata_do_set_mode(ap, r_failed); |
489 | struct ata_device *dev = &ap->link.device[i]; | 486 | if (rc < 0) |
487 | return rc; | ||
490 | 488 | ||
489 | ata_link_for_each_dev(dev, &ap->link) { | ||
491 | if (ata_dev_enabled(dev)) { | 490 | if (ata_dev_enabled(dev)) { |
492 | 491 | ||
493 | pdc2027x_set_piomode(ap, dev); | 492 | pdc2027x_set_piomode(ap, dev); |