aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2012-09-17 22:20:30 -0700
committerYinghai Lu <yinghai@kernel.org>2012-09-17 22:20:30 -0700
commit39db68a15d4680b71e014fc7a18c181f134d4a01 (patch)
tree8013cf38ba5955de8887c1e034eee57d09d511a8
parent5b4965eff39f192afa97106dfbe217e0af0de2f0 (diff)
downloadlinux-yinghai-39db68a15d4680b71e014fc7a18c181f134d4a01.tar.gz
PCI: Use for_each_res pci bases reading
Replace those open code, and make code more readable. Signed-off-by: Yinghai Lu <yinghai@kernel.org>
-rw-r--r--drivers/pci/probe.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 29f2c6f5622ce..4f7fb8a60f1da 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -353,9 +353,11 @@ out:
static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom)
{
unsigned int pos, reg;
+ struct resource *res;
- for (pos = 0; pos < howmany; pos++) {
- struct resource *res = &dev->resource[pos];
+ for_each_pci_resource(dev, res, pos, PCI_STD_RES) {
+ if (pos >= howmany)
+ break;
reg = PCI_BASE_ADDRESS_0 + (pos << 2);
pos += __pci_read_base(dev, pci_bar_unknown, res, reg);
}