aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_pdc2027x.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-08-06 05:36:23 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-12 14:55:30 -0400
commitf58229f8060055b08b34008ea08f31de1e2f003c (patch)
tree6ca5ef546671cb975ef3632fb032c238eaf1bb4c /drivers/ata/pata_pdc2027x.c
parent9af5c9c97dc9d599281778864c72b385f0c63341 (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.c13
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 */
480static int pdc2027x_set_mode(struct ata_port *ap, struct ata_device **r_failed) 480static 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);