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>
Showing
- drivers/ata/ata_generic.c 3 additions, 4 deletionsdrivers/ata/ata_generic.c
- drivers/ata/libata-acpi.c 3 additions, 3 deletionsdrivers/ata/libata-acpi.c
- drivers/ata/libata-core.c 24 additions, 34 deletionsdrivers/ata/libata-core.c
- drivers/ata/libata-eh.c 59 additions, 58 deletionsdrivers/ata/libata-eh.c
- drivers/ata/libata-scsi.c 10 additions, 16 deletionsdrivers/ata/libata-scsi.c
- drivers/ata/pata_it821x.c 2 additions, 3 deletionsdrivers/ata/pata_it821x.c
- drivers/ata/pata_ixp4xx_cf.c 2 additions, 3 deletionsdrivers/ata/pata_ixp4xx_cf.c
- drivers/ata/pata_legacy.c 2 additions, 3 deletionsdrivers/ata/pata_legacy.c
- drivers/ata/pata_pdc2027x.c 6 additions, 7 deletionsdrivers/ata/pata_pdc2027x.c
- drivers/ata/pata_platform.c 2 additions, 4 deletionsdrivers/ata/pata_platform.c
- drivers/ata/pata_rz1000.c 2 additions, 3 deletionsdrivers/ata/pata_rz1000.c
- drivers/ata/sata_sil.c 5 additions, 7 deletionsdrivers/ata/sata_sil.c
- include/linux/libata.h 14 additions, 3 deletionsinclude/linux/libata.h
Loading
Please register or sign in to comment