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>
This commit is contained in:
@@ -509,7 +509,7 @@ int ata_acpi_on_suspend(struct ata_port *ap)
|
||||
*/
|
||||
void ata_acpi_on_resume(struct ata_port *ap)
|
||||
{
|
||||
int i;
|
||||
struct ata_device *dev;
|
||||
|
||||
if (ap->acpi_handle && (ap->pflags & ATA_PFLAG_GTM_VALID)) {
|
||||
BUG_ON(ap->flags & ATA_FLAG_ACPI_SATA);
|
||||
@@ -519,8 +519,8 @@ void ata_acpi_on_resume(struct ata_port *ap)
|
||||
}
|
||||
|
||||
/* schedule _GTF */
|
||||
for (i = 0; i < ATA_MAX_DEVICES; i++)
|
||||
ap->link.device[i].flags |= ATA_DFLAG_ACPI_PENDING;
|
||||
ata_link_for_each_dev(dev, &ap->link)
|
||||
dev->flags |= ATA_DFLAG_ACPI_PENDING;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user