]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
PCI: Add PCI_STD_NUM_BARS for the number of standard BARs
authorDenis Efremov <efremov@linux.com>
Fri, 27 Sep 2019 23:43:08 +0000 (02:43 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 14 Oct 2019 15:22:26 +0000 (10:22 -0500)
Code that iterates over all standard PCI BARs typically uses
PCI_STD_RESOURCE_END.  However, that requires the unusual test
"i <= PCI_STD_RESOURCE_END" rather than something the typical
"i < PCI_STD_NUM_BARS".

Add a definition for PCI_STD_NUM_BARS and change loops to use the more
idiomatic C style to help avoid fencepost errors.

Link: https://lore.kernel.org/r/20190927234026.23342-1-efremov@linux.com
Link: https://lore.kernel.org/r/20190927234308.23935-1-efremov@linux.com
Link: https://lore.kernel.org/r/20190916204158.6889-3-efremov@linux.com
Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Sebastian Ott <sebott@linux.ibm.com> # arch/s390/
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> # video/fbdev/
Acked-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com> # pci/controller/dwc/
Acked-by: Jack Wang <jinpu.wang@cloud.ionos.com> # scsi/pm8001/
Acked-by: Martin K. Petersen <martin.petersen@oracle.com> # scsi/pm8001/
Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # memstick/
46 files changed:
arch/alpha/kernel/pci-sysfs.c
arch/s390/include/asm/pci.h
arch/s390/include/asm/pci_clp.h
arch/s390/pci/pci.c
arch/s390/pci/pci_clp.c
arch/x86/pci/common.c
arch/x86/pci/intel_mid_pci.c
drivers/ata/pata_atp867x.c
drivers/ata/sata_nv.c
drivers/memstick/host/jmb38x_ms.c
drivers/misc/pci_endpoint_test.c
drivers/net/ethernet/intel/e1000/e1000.h
drivers/net/ethernet/intel/e1000/e1000_main.c
drivers/net/ethernet/intel/ixgb/ixgb.h
drivers/net/ethernet/intel/ixgb/ixgb_main.c
drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c
drivers/net/ethernet/synopsys/dwc-xlgmac-pci.c
drivers/pci/controller/dwc/pci-dra7xx.c
drivers/pci/controller/dwc/pci-layerscape-ep.c
drivers/pci/controller/dwc/pcie-artpec6.c
drivers/pci/controller/dwc/pcie-designware-plat.c
drivers/pci/controller/dwc/pcie-designware.h
drivers/pci/controller/pci-hyperv.c
drivers/pci/endpoint/functions/pci-epf-test.c
drivers/pci/pci-sysfs.c
drivers/pci/pci.c
drivers/pci/proc.c
drivers/pci/quirks.c
drivers/rapidio/devices/tsi721.c
drivers/scsi/pm8001/pm8001_hwi.c
drivers/scsi/pm8001/pm8001_init.c
drivers/staging/gasket/gasket_constants.h
drivers/staging/gasket/gasket_core.c
drivers/staging/gasket/gasket_core.h
drivers/tty/serial/8250/8250_pci.c
drivers/usb/core/hcd-pci.c
drivers/usb/host/pci-quirks.c
drivers/vfio/pci/vfio_pci.c
drivers/vfio/pci/vfio_pci_config.c
drivers/vfio/pci/vfio_pci_private.h
drivers/video/fbdev/core/fbmem.c
drivers/video/fbdev/efifb.c
include/linux/pci-epc.h
include/linux/pci.h
include/uapi/linux/pci_regs.h
lib/devres.c

index f94c732fedebb46b7a6f4ef9b7303adbfd5c1316..0021580d79adbd577e5829841323ec1e889a1e30 100644 (file)
@@ -71,10 +71,10 @@ static int pci_mmap_resource(struct kobject *kobj,
        struct pci_bus_region bar;
        int i;
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++)
+       for (i = 0; i < PCI_STD_NUM_BARS; i++)
                if (res == &pdev->resource[i])
                        break;
-       if (i >= PCI_ROM_RESOURCE)
+       if (i >= PCI_STD_NUM_BARS)
                return -ENODEV;
 
        if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start))
@@ -115,7 +115,7 @@ void pci_remove_resource_files(struct pci_dev *pdev)
 {
        int i;
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                struct bin_attribute *res_attr;
 
                res_attr = pdev->res_attr[i];
@@ -232,7 +232,7 @@ int pci_create_resource_files(struct pci_dev *pdev)
        int retval;
 
        /* Expose the PCI resources from this device as files */
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
 
                /* skip empty resources */
                if (!pci_resource_len(pdev, i))
index a2399eff84ca463e2ebff2ff074889774e882372..3a06c264ea533813115559d72f2762dd5a207902 100644 (file)
@@ -2,9 +2,6 @@
 #ifndef __ASM_S390_PCI_H
 #define __ASM_S390_PCI_H
 
-/* must be set before including pci_clp.h */
-#define PCI_BAR_COUNT  6
-
 #include <linux/pci.h>
 #include <linux/mutex.h>
 #include <linux/iommu.h>
@@ -138,7 +135,7 @@ struct zpci_dev {
 
        char res_name[16];
        bool mio_capable;
-       struct zpci_bar_struct bars[PCI_BAR_COUNT];
+       struct zpci_bar_struct bars[PCI_STD_NUM_BARS];
 
        u64             start_dma;      /* Start of available DMA addresses */
        u64             end_dma;        /* End of available DMA addresses */
index 50359172cc488b538845ebbfe8f2c32bcc35985b..bd2cb4ea7d93d3081e7b3486e5b79e3f9f7b76a2 100644 (file)
@@ -77,7 +77,7 @@ struct mio_info {
        struct {
                u64 wb;
                u64 wt;
-       } addr[PCI_BAR_COUNT];
+       } addr[PCI_STD_NUM_BARS];
        u32 reserved[6];
 } __packed;
 
@@ -98,9 +98,9 @@ struct clp_rsp_query_pci {
        u16 util_str_avail      :  1;   /* utility string available? */
        u16 pfgid               :  8;   /* pci function group id */
        u32 fid;                        /* pci function id */
-       u8 bar_size[PCI_BAR_COUNT];
+       u8 bar_size[PCI_STD_NUM_BARS];
        u16 pchid;
-       __le32 bar[PCI_BAR_COUNT];
+       __le32 bar[PCI_STD_NUM_BARS];
        u8 pfip[CLP_PFIP_NR_SEGMENTS];  /* pci function internal path */
        u32                     : 16;
        u8 fmb_len;
index c7fea9bea8cb520f261d74d5c0bdcca67f68909e..7b4c2acf05a8f57f3acae86d7952150662924f5a 100644 (file)
@@ -43,7 +43,7 @@ static DECLARE_BITMAP(zpci_domain, ZPCI_NR_DEVICES);
 static DEFINE_SPINLOCK(zpci_domain_lock);
 
 #define ZPCI_IOMAP_ENTRIES                                             \
-       min(((unsigned long) ZPCI_NR_DEVICES * PCI_BAR_COUNT / 2),      \
+       min(((unsigned long) ZPCI_NR_DEVICES * PCI_STD_NUM_BARS / 2),   \
            ZPCI_IOMAP_MAX_ENTRIES)
 
 static DEFINE_SPINLOCK(zpci_iomap_lock);
@@ -294,7 +294,7 @@ static void __iomem *pci_iomap_range_mio(struct pci_dev *pdev, int bar,
 void __iomem *pci_iomap_range(struct pci_dev *pdev, int bar,
                              unsigned long offset, unsigned long max)
 {
-       if (!pci_resource_len(pdev, bar) || bar >= PCI_BAR_COUNT)
+       if (bar >= PCI_STD_NUM_BARS || !pci_resource_len(pdev, bar))
                return NULL;
 
        if (static_branch_likely(&have_mio))
@@ -324,7 +324,7 @@ static void __iomem *pci_iomap_wc_range_mio(struct pci_dev *pdev, int bar,
 void __iomem *pci_iomap_wc_range(struct pci_dev *pdev, int bar,
                                 unsigned long offset, unsigned long max)
 {
-       if (!pci_resource_len(pdev, bar) || bar >= PCI_BAR_COUNT)
+       if (bar >= PCI_STD_NUM_BARS || !pci_resource_len(pdev, bar))
                return NULL;
 
        if (static_branch_likely(&have_mio))
@@ -416,7 +416,7 @@ static void zpci_map_resources(struct pci_dev *pdev)
        resource_size_t len;
        int i;
 
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                len = pci_resource_len(pdev, i);
                if (!len)
                        continue;
@@ -451,7 +451,7 @@ static void zpci_unmap_resources(struct pci_dev *pdev)
        if (zpci_use_mio(zdev))
                return;
 
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                len = pci_resource_len(pdev, i);
                if (!len)
                        continue;
@@ -514,7 +514,7 @@ static int zpci_setup_bus_resources(struct zpci_dev *zdev,
        snprintf(zdev->res_name, sizeof(zdev->res_name),
                 "PCI Bus %04x:%02x", zdev->domain, ZPCI_BUS_NR);
 
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (!zdev->bars[i].size)
                        continue;
                entry = zpci_alloc_iomap(zdev);
@@ -551,7 +551,7 @@ static void zpci_cleanup_bus_resources(struct zpci_dev *zdev)
 {
        int i;
 
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (!zdev->bars[i].size || !zdev->bars[i].res)
                        continue;
 
@@ -573,7 +573,7 @@ int pcibios_add_device(struct pci_dev *pdev)
        pdev->dev.dma_ops = &s390_pci_dma_ops;
        zpci_map_resources(pdev);
 
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                res = &pdev->resource[i];
                if (res->parent || !res->flags)
                        continue;
index 9bdff4defef199746ef19d35207eb559dade6028..8b729b5f2972e123d3ffdbc779674aa69481994f 100644 (file)
@@ -145,7 +145,7 @@ static int clp_store_query_pci_fn(struct zpci_dev *zdev,
 {
        int i;
 
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                zdev->bars[i].val = le32_to_cpu(response->bar[i]);
                zdev->bars[i].size = response->bar_size[i];
        }
@@ -164,8 +164,8 @@ static int clp_store_query_pci_fn(struct zpci_dev *zdev,
                       sizeof(zdev->util_str));
        }
        zdev->mio_capable = response->mio_addr_avail;
-       for (i = 0; i < PCI_BAR_COUNT; i++) {
-               if (!(response->mio.valid & (1 << (PCI_BAR_COUNT - i - 1))))
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
+               if (!(response->mio.valid & (1 << (PCI_STD_NUM_BARS - i - 1))))
                        continue;
 
                zdev->bars[i].mio_wb = (void __iomem *) response->mio.addr[i].wb;
index 9acab6ac28f5d386283046d29cf5735f836682f0..1e59df041456fc35b01033cf3997a90a5e510735 100644 (file)
@@ -135,7 +135,7 @@ static void pcibios_fixup_device_resources(struct pci_dev *dev)
                * resource so the kernel doesn't attempt to assign
                * it later on in pci_assign_unassigned_resources
                */
-               for (bar = 0; bar <= PCI_STD_RESOURCE_END; bar++) {
+               for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                        bar_r = &dev->resource[bar];
                        if (bar_r->start == 0 && bar_r->end != 0) {
                                bar_r->flags = 0;
index 43867bc853687942059fd72a6c49e7a6ee6e48c6..00c62115f39cd8a6d38e0d136e6edd57e503e5d6 100644 (file)
@@ -382,7 +382,7 @@ static void pci_fixed_bar_fixup(struct pci_dev *dev)
            PCI_DEVFN(2, 2) == dev->devfn)
                return;
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                pci_read_config_dword(dev, offset + 8 + (i * 4), &size);
                dev->resource[i].end = dev->resource[i].start + size - 1;
                dev->resource[i].flags |= IORESOURCE_PCI_FIXED;
index cfd0cf2cbca6caaaab2fd2b2d424375bb09a95a2..e01a3a6e4d462a3ed1089ad6ff52cea21252d5ab 100644 (file)
@@ -422,7 +422,7 @@ static int atp867x_ata_pci_sff_init_host(struct ata_host *host)
 #ifdef ATP867X_DEBUG
        atp867x_check_res(pdev);
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++)
+       for (i = 0; i < PCI_STD_NUM_BARS; i++)
                printk(KERN_DEBUG "ATP867X: iomap[%d]=0x%llx\n", i,
                        (unsigned long long)(host->iomap[i]));
 #endif
index 56946012d113a50af4b8bb24628596ac0f55b24d..6f261fbae8c2d2306eb1e2296e192754770d270e 100644 (file)
@@ -2325,7 +2325,7 @@ static int nv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
         // Make sure this is a SATA controller by counting the number of bars
         // (NVIDIA SATA controllers will always have six bars).  Otherwise,
         // it's an IDE controller and we ignore it.
-       for (bar = 0; bar < 6; bar++)
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++)
                if (pci_resource_start(pdev, bar) == 0)
                        return -ENODEV;
 
index 32747425297d840ba4458c6345946b07fec8ba85..fd281c1d39b1351f9378aa826ce3dec012aa71b8 100644 (file)
@@ -848,7 +848,7 @@ static int jmb38x_ms_count_slots(struct pci_dev *pdev)
 {
        int cnt, rc = 0;
 
-       for (cnt = 0; cnt < PCI_ROM_RESOURCE; ++cnt) {
+       for (cnt = 0; cnt < PCI_STD_NUM_BARS; ++cnt) {
                if (!(IORESOURCE_MEM & pci_resource_flags(pdev, cnt)))
                        break;
 
index 6e208a060a585d2926a97fad210f5acac7baa24d..a5e317073d95d1718af18ebb09e5d5194004943b 100644 (file)
@@ -94,7 +94,7 @@ enum pci_barno {
 struct pci_endpoint_test {
        struct pci_dev  *pdev;
        void __iomem    *base;
-       void __iomem    *bar[6];
+       void __iomem    *bar[PCI_STD_NUM_BARS];
        struct completion irq_raised;
        int             last_irq;
        int             num_irqs;
@@ -687,7 +687,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
        if (!pci_endpoint_test_request_irq(test))
                goto err_disable_irq;
 
-       for (bar = BAR_0; bar <= BAR_5; bar++) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                if (pci_resource_flags(pdev, bar) & IORESOURCE_MEM) {
                        base = pci_ioremap_bar(pdev, bar);
                        if (!base) {
@@ -740,7 +740,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
        ida_simple_remove(&pci_endpoint_test_ida, id);
 
 err_iounmap:
-       for (bar = BAR_0; bar <= BAR_5; bar++) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                if (test->bar[bar])
                        pci_iounmap(pdev, test->bar[bar]);
        }
@@ -771,7 +771,7 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev)
        misc_deregister(&test->miscdev);
        kfree(misc_device->name);
        ida_simple_remove(&pci_endpoint_test_ida, id);
-       for (bar = BAR_0; bar <= BAR_5; bar++) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                if (test->bar[bar])
                        pci_iounmap(pdev, test->bar[bar]);
        }
index c40729b2c1844e2fd16c905e6c51426698ed6f80..7fad2f24dcad9938ae7b2b02a13f0bec549bd5bf 100644 (file)
@@ -45,7 +45,6 @@
 
 #define BAR_0          0
 #define BAR_1          1
-#define BAR_5          5
 
 #define INTEL_E1000_ETHERNET_DEVICE(device_id) {\
        PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)}
index 86493fea56e4cf5037dfb4de5ac1ee9ca40b5e21..78db336944945b35a67058bae10dce46e4f75e91 100644 (file)
@@ -977,7 +977,7 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                goto err_ioremap;
 
        if (adapter->need_ioport) {
-               for (i = BAR_1; i <= BAR_5; i++) {
+               for (i = BAR_1; i < PCI_STD_NUM_BARS; i++) {
                        if (pci_resource_len(pdev, i) == 0)
                                continue;
                        if (pci_resource_flags(pdev, i) & IORESOURCE_IO) {
index e85271b68410843bb7aebd5ef20462458d826ea3..681d44cc978485a7fe386cc2701f1e37ba6dc7e3 100644 (file)
@@ -42,7 +42,6 @@
 
 #define BAR_0          0
 #define BAR_1          1
-#define BAR_5          5
 
 struct ixgb_adapter;
 #include "ixgb_hw.h"
index 0940a0da16f2863dee68502865d25e21f8b8c50d..3d8c051dd3277547db18db5650515f9badfb9469 100644 (file)
@@ -412,7 +412,7 @@ ixgb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                goto err_ioremap;
        }
 
-       for (i = BAR_1; i <= BAR_5; i++) {
+       for (i = BAR_1; i < PCI_STD_NUM_BARS; i++) {
                if (pci_resource_len(pdev, i) == 0)
                        continue;
                if (pci_resource_flags(pdev, i) & IORESOURCE_IO) {
index 292045f4581f78996036c8f243ecc90237bbf393..8237dbc3e9911ac2c79fba1193353f5cf0b68a6f 100644 (file)
@@ -489,7 +489,7 @@ static int stmmac_pci_probe(struct pci_dev *pdev,
        }
 
        /* Get the base address of device */
-       for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (pci_resource_len(pdev, i) == 0)
                        continue;
                ret = pcim_iomap_regions(pdev, BIT(i), pci_name(pdev));
@@ -532,7 +532,7 @@ static void stmmac_pci_remove(struct pci_dev *pdev)
        if (priv->plat->stmmac_clk)
                clk_unregister_fixed_rate(priv->plat->stmmac_clk);
 
-       for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (pci_resource_len(pdev, i) == 0)
                        continue;
                pcim_iounmap_regions(pdev, BIT(i));
index 386bafe74c3f6ffa3910e223101a5b52eacc8dfb..fa8604d7b797556b52c9703ec003ba54c1509f82 100644 (file)
@@ -34,7 +34,7 @@ static int xlgmac_probe(struct pci_dev *pcidev, const struct pci_device_id *id)
                return ret;
        }
 
-       for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (pci_resource_len(pcidev, i) == 0)
                        continue;
                ret = pcim_iomap_regions(pcidev, BIT(i), XLGMAC_DRV_NAME);
index 4234ddb4722f7a23a7fc293a84cbfe255677d6de..b20651cea09f84095fdbd4c1a304a3d8cd5ce3b5 100644 (file)
@@ -353,7 +353,7 @@ static void dra7xx_pcie_ep_init(struct dw_pcie_ep *ep)
        struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
        enum pci_barno bar;
 
-       for (bar = BAR_0; bar <= BAR_5; bar++)
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++)
                dw_pcie_ep_reset_bar(pci, bar);
 
        dra7xx_pcie_enable_wrapper_interrupts(dra7xx);
index ca9aa4501e7e98aa9f7a3c9a2e997b4c96aafedb..0d151cead1b72ee2c03305f43a4f90b7cb8fe00f 100644 (file)
@@ -58,7 +58,7 @@ static void ls_pcie_ep_init(struct dw_pcie_ep *ep)
        struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
        enum pci_barno bar;
 
-       for (bar = BAR_0; bar <= BAR_5; bar++)
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++)
                dw_pcie_ep_reset_bar(pci, bar);
 }
 
index d00252bd8faeeb5f6bbda8472a66aa0a67dcb5ab..9e2482bd7b6def3067f9f40980ca67b51b39e3a9 100644 (file)
@@ -422,7 +422,7 @@ static void artpec6_pcie_ep_init(struct dw_pcie_ep *ep)
        artpec6_pcie_wait_for_phy(artpec6_pcie);
        artpec6_pcie_set_nfts(artpec6_pcie);
 
-       for (bar = BAR_0; bar <= BAR_5; bar++)
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++)
                dw_pcie_ep_reset_bar(pci, bar);
 }
 
index b58fdcbc664b85b97b06ee14a4d2c8f0850a15ab..73646b677affa943f3f78e0752e844df6abab9c6 100644 (file)
@@ -70,7 +70,7 @@ static void dw_plat_pcie_ep_init(struct dw_pcie_ep *ep)
        struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
        enum pci_barno bar;
 
-       for (bar = BAR_0; bar <= BAR_5; bar++)
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++)
                dw_pcie_ep_reset_bar(pci, bar);
 }
 
index 5a18e94e52c801df68cda03b159a8ac34442bc41..5accdd6bc388166d910cf0a32a4b93e1573f5a94 100644 (file)
@@ -214,7 +214,7 @@ struct dw_pcie_ep {
        phys_addr_t             phys_base;
        size_t                  addr_size;
        size_t                  page_size;
-       u8                      bar_to_atu[6];
+       u8                      bar_to_atu[PCI_STD_NUM_BARS];
        phys_addr_t             *outbound_addr;
        unsigned long           *ib_window_map;
        unsigned long           *ob_window_map;
index f1f300218fab8659629ba466b044ceeb06c96bce..ad40e848d56458245810e1963ab1411343e4346e 100644 (file)
@@ -307,7 +307,7 @@ struct pci_bus_relations {
 struct pci_q_res_req_response {
        struct vmpacket_descriptor hdr;
        s32 status;                     /* negative values are failures */
-       u32 probed_bar[6];
+       u32 probed_bar[PCI_STD_NUM_BARS];
 } __packed;
 
 struct pci_set_power {
@@ -539,7 +539,7 @@ struct hv_pci_dev {
         * What would be observed if one wrote 0xFFFFFFFF to a BAR and then
         * read it back, for each of the BAR offsets within config space.
         */
-       u32 probed_bar[6];
+       u32 probed_bar[PCI_STD_NUM_BARS];
 };
 
 struct hv_pci_compl {
@@ -1610,7 +1610,7 @@ static void survey_child_resources(struct hv_pcibus_device *hbus)
         * so it's sufficient to just add them up without tracking alignment.
         */
        list_for_each_entry(hpdev, &hbus->children, list_entry) {
-               for (i = 0; i < 6; i++) {
+               for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                        if (hpdev->probed_bar[i] & PCI_BASE_ADDRESS_SPACE_IO)
                                dev_err(&hbus->hdev->device,
                                        "There's an I/O BAR in this list!\n");
@@ -1684,7 +1684,7 @@ static void prepopulate_bars(struct hv_pcibus_device *hbus)
        /* Pick addresses for the BARs. */
        do {
                list_for_each_entry(hpdev, &hbus->children, list_entry) {
-                       for (i = 0; i < 6; i++) {
+                       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                                bar_val = hpdev->probed_bar[i];
                                if (bar_val == 0)
                                        continue;
@@ -1841,7 +1841,7 @@ static void q_resource_requirements(void *context, struct pci_response *resp,
                        "query resource requirements failed: %x\n",
                        resp->status);
        } else {
-               for (i = 0; i < 6; i++) {
+               for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                        completion->hpdev->probed_bar[i] =
                                q_res_req->probed_bar[i];
                }
index 1cfe3687a21191c799acf1686df0372317c56e7b..5d74f81ddfe4d53d2d522774e120281e8431a944 100644 (file)
@@ -44,7 +44,7 @@
 static struct workqueue_struct *kpcitest_workqueue;
 
 struct pci_epf_test {
-       void                    *reg[6];
+       void                    *reg[PCI_STD_NUM_BARS];
        struct pci_epf          *epf;
        enum pci_barno          test_reg_bar;
        struct delayed_work     cmd_handler;
@@ -377,7 +377,7 @@ static void pci_epf_test_unbind(struct pci_epf *epf)
 
        cancel_delayed_work(&epf_test->cmd_handler);
        pci_epc_stop(epc);
-       for (bar = BAR_0; bar <= BAR_5; bar++) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                epf_bar = &epf->bar[bar];
 
                if (epf_test->reg[bar]) {
@@ -400,7 +400,7 @@ static int pci_epf_test_set_bar(struct pci_epf *epf)
 
        epc_features = epf_test->epc_features;
 
-       for (bar = BAR_0; bar <= BAR_5; bar += add) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar += add) {
                epf_bar = &epf->bar[bar];
                /*
                 * pci_epc_set_bar() sets PCI_BASE_ADDRESS_MEM_TYPE_64
@@ -450,7 +450,7 @@ static int pci_epf_test_alloc_space(struct pci_epf *epf)
        }
        epf_test->reg[test_reg_bar] = base;
 
-       for (bar = BAR_0; bar <= BAR_5; bar += add) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar += add) {
                epf_bar = &epf->bar[bar];
                add = (epf_bar->flags & PCI_BASE_ADDRESS_MEM_TYPE_64) ? 2 : 1;
 
@@ -478,7 +478,7 @@ static void pci_epf_configure_bar(struct pci_epf *epf,
        bool bar_fixed_64bit;
        int i;
 
-       for (i = BAR_0; i <= BAR_5; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                epf_bar = &epf->bar[i];
                bar_fixed_64bit = !!(epc_features->bar_fixed_64bit & (1 << i));
                if (bar_fixed_64bit)
index 7934129545290480b573f03976e8d5e5e220ef01..07bd84c50238d4f3c13b4707785b26a73b9167e9 100644 (file)
@@ -1122,7 +1122,7 @@ static void pci_remove_resource_files(struct pci_dev *pdev)
 {
        int i;
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                struct bin_attribute *res_attr;
 
                res_attr = pdev->res_attr[i];
@@ -1193,7 +1193,7 @@ static int pci_create_resource_files(struct pci_dev *pdev)
        int retval;
 
        /* Expose the PCI resources from this device as files */
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
 
                /* skip empty resources */
                if (!pci_resource_len(pdev, i))
index e7982af9a5d86efd738640fbe08dba01e4704155..184765f12848d0d85c159471360f8332aa45b909 100644 (file)
@@ -674,7 +674,7 @@ struct resource *pci_find_resource(struct pci_dev *dev, struct resource *res)
 {
        int i;
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                struct resource *r = &dev->resource[i];
 
                if (r->start && resource_contains(r, res))
@@ -3768,7 +3768,7 @@ void pci_release_selected_regions(struct pci_dev *pdev, int bars)
 {
        int i;
 
-       for (i = 0; i < 6; i++)
+       for (i = 0; i < PCI_STD_NUM_BARS; i++)
                if (bars & (1 << i))
                        pci_release_region(pdev, i);
 }
@@ -3779,7 +3779,7 @@ static int __pci_request_selected_regions(struct pci_dev *pdev, int bars,
 {
        int i;
 
-       for (i = 0; i < 6; i++)
+       for (i = 0; i < PCI_STD_NUM_BARS; i++)
                if (bars & (1 << i))
                        if (__pci_request_region(pdev, i, res_name, excl))
                                goto err_out;
@@ -3827,7 +3827,7 @@ EXPORT_SYMBOL(pci_request_selected_regions_exclusive);
 
 void pci_release_regions(struct pci_dev *pdev)
 {
-       pci_release_selected_regions(pdev, (1 << 6) - 1);
+       pci_release_selected_regions(pdev, (1 << PCI_STD_NUM_BARS) - 1);
 }
 EXPORT_SYMBOL(pci_release_regions);
 
@@ -3846,7 +3846,8 @@ EXPORT_SYMBOL(pci_release_regions);
  */
 int pci_request_regions(struct pci_dev *pdev, const char *res_name)
 {
-       return pci_request_selected_regions(pdev, ((1 << 6) - 1), res_name);
+       return pci_request_selected_regions(pdev,
+                       ((1 << PCI_STD_NUM_BARS) - 1), res_name);
 }
 EXPORT_SYMBOL(pci_request_regions);
 
@@ -3868,7 +3869,7 @@ EXPORT_SYMBOL(pci_request_regions);
 int pci_request_regions_exclusive(struct pci_dev *pdev, const char *res_name)
 {
        return pci_request_selected_regions_exclusive(pdev,
-                                       ((1 << 6) - 1), res_name);
+                               ((1 << PCI_STD_NUM_BARS) - 1), res_name);
 }
 EXPORT_SYMBOL(pci_request_regions_exclusive);
 
index 5495537c60c2441a2b9922526833f4d81e393753..6ef74bf5013f16ef02cc83305a92f7329cc6352f 100644 (file)
@@ -258,13 +258,13 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
        }
 
        /* Make sure the caller is mapping a real resource for this device */
-       for (i = 0; i < PCI_ROM_RESOURCE; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (dev->resource[i].flags & res_bit &&
                    pci_mmap_fits(dev, i, vma,  PCI_MMAP_PROCFS))
                        break;
        }
 
-       if (i >= PCI_ROM_RESOURCE)
+       if (i >= PCI_STD_NUM_BARS)
                return -ENODEV;
 
        if (fpriv->mmap_state == pci_mmap_mem &&
index 320255e5e8f8963d2edaa6c3824c85203d080b34..5d5e6f2f783746d45c091f6f9659f871906b87fd 100644 (file)
@@ -474,7 +474,7 @@ static void quirk_extend_bar_to_page(struct pci_dev *dev)
 {
        int i;
 
-       for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                struct resource *r = &dev->resource[i];
 
                if (r->flags & IORESOURCE_MEM && resource_size(r) < PAGE_SIZE) {
@@ -1809,7 +1809,7 @@ static void quirk_alder_ioapic(struct pci_dev *pdev)
         * The next five BARs all seem to be rubbish, so just clean
         * them out.
         */
-       for (i = 1; i < 6; i++)
+       for (i = 1; i < PCI_STD_NUM_BARS; i++)
                memset(&pdev->resource[i], 0, sizeof(pdev->resource[i]));
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL,  PCI_DEVICE_ID_INTEL_EESSC,      quirk_alder_ioapic);
index 125a173bed458bebfb334370b6a7556c2858e8fe..4dd31dd9feeabb0bb55a62bd478a017afa92852f 100644 (file)
@@ -2755,7 +2755,7 @@ static int tsi721_probe(struct pci_dev *pdev,
        {
                int i;
 
-               for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
+               for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                        tsi_debug(INIT, &pdev->dev, "res%d %pR",
                                  i, &pdev->resource[i]);
                }
index 68a8217032d0fb17cc6be74c18490d2b34520f27..1a3661d6be06b30666c65684f1f99481321516f8 100644 (file)
@@ -1186,7 +1186,7 @@ static void pm8001_hw_chip_rst(struct pm8001_hba_info *pm8001_ha)
 void pm8001_chip_iounmap(struct pm8001_hba_info *pm8001_ha)
 {
        s8 bar, logical = 0;
-       for (bar = 0; bar < 6; bar++) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                /*
                ** logical BARs for SPC:
                ** bar 0 and 1 - logical BAR0
index 3374f553c617a5f56e51af08ce733fbb289d4d85..aca913490eb5b83ea333dc32a747190d379714a6 100644 (file)
@@ -401,7 +401,7 @@ static int pm8001_ioremap(struct pm8001_hba_info *pm8001_ha)
 
        pdev = pm8001_ha->pdev;
        /* map pci mem (PMC pci base 0-3)*/
-       for (bar = 0; bar < 6; bar++) {
+       for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                /*
                ** logical BARs for SPC:
                ** bar 0 and 1 - logical BAR0
index 50d87c7b178c25dffd626a9ebf8319d06c3994a2..9ea9c8833f27a066b4d2a7a5eb188a153ee4f7b4 100644 (file)
@@ -13,9 +13,6 @@
 /* The maximum devices per each type. */
 #define GASKET_DEV_MAX 256
 
-/* The number of supported (and possible) PCI BARs. */
-#define GASKET_NUM_BARS 6
-
 /* The number of supported Gasket page tables per device. */
 #define GASKET_MAX_NUM_PAGE_TABLES 1
 
index 13179f063a61d8d49245fce10a5e896401db99df..cd8be80d2076b10247bede882396db865c31e2ef 100644 (file)
@@ -371,7 +371,7 @@ static int gasket_setup_pci(struct pci_dev *pci_dev,
 {
        int i, mapped_bars, ret;
 
-       for (i = 0; i < GASKET_NUM_BARS; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                ret = gasket_map_pci_bar(gasket_dev, i);
                if (ret) {
                        mapped_bars = i;
@@ -393,7 +393,7 @@ static void gasket_cleanup_pci(struct gasket_dev *gasket_dev)
 {
        int i;
 
-       for (i = 0; i < GASKET_NUM_BARS; i++)
+       for (i = 0; i < PCI_STD_NUM_BARS; i++)
                gasket_unmap_pci_bar(gasket_dev, i);
 }
 
@@ -493,7 +493,7 @@ static ssize_t gasket_sysfs_data_show(struct device *device,
                (enum gasket_sysfs_attribute_type)gasket_attr->data.attr_type;
        switch (sysfs_type) {
        case ATTR_BAR_OFFSETS:
-               for (i = 0; i < GASKET_NUM_BARS; i++) {
+               for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                        bar_desc = &driver_desc->bar_descriptions[i];
                        if (bar_desc->size == 0)
                                continue;
@@ -505,7 +505,7 @@ static ssize_t gasket_sysfs_data_show(struct device *device,
                }
                break;
        case ATTR_BAR_SIZES:
-               for (i = 0; i < GASKET_NUM_BARS; i++) {
+               for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                        bar_desc = &driver_desc->bar_descriptions[i];
                        if (bar_desc->size == 0)
                                continue;
@@ -556,7 +556,7 @@ static ssize_t gasket_sysfs_data_show(struct device *device,
                ret = snprintf(buf, PAGE_SIZE, "%d\n", gasket_dev->reset_count);
                break;
        case ATTR_USER_MEM_RANGES:
-               for (i = 0; i < GASKET_NUM_BARS; ++i) {
+               for (i = 0; i < PCI_STD_NUM_BARS; ++i) {
                        current_written =
                                gasket_write_mappable_regions(buf, driver_desc,
                                                              i);
@@ -736,7 +736,7 @@ static int gasket_get_bar_index(const struct gasket_dev *gasket_dev,
        const struct gasket_driver_desc *driver_desc;
 
        driver_desc = gasket_dev->internal_desc->driver_desc;
-       for (i = 0; i < GASKET_NUM_BARS; ++i) {
+       for (i = 0; i < PCI_STD_NUM_BARS; ++i) {
                struct gasket_bar_desc bar_desc =
                        driver_desc->bar_descriptions[i];
 
index be44ac1e3118626795912b661a5ce060aa8f6974..c417acadb0d51ac2d9f2b235da6fb3e9f1d8966b 100644 (file)
@@ -268,7 +268,7 @@ struct gasket_dev {
        char kobj_name[GASKET_NAME_MAX];
 
        /* Virtual address of mapped BAR memory range. */
-       struct gasket_bar_data bar_data[GASKET_NUM_BARS];
+       struct gasket_bar_data bar_data[PCI_STD_NUM_BARS];
 
        /* Coherent buffer. */
        struct gasket_coherent_buffer coherent_buffer;
@@ -369,7 +369,7 @@ struct gasket_driver_desc {
        /* Set of 6 bar descriptions that describe all PCIe bars.
         * Note that BUS/AXI devices (i.e. non PCI devices) use those.
         */
-       struct gasket_bar_desc bar_descriptions[GASKET_NUM_BARS];
+       struct gasket_bar_desc bar_descriptions[PCI_STD_NUM_BARS];
 
        /*
         * Coherent buffer description.
index 6adbadd6a56a8f1882debc39b66bb15bcafde5b5..0b8784cd6d71837374435dc61e85ba8a5b54d641 100644 (file)
@@ -48,8 +48,6 @@ struct f815xxa_data {
        int idx;
 };
 
-#define PCI_NUM_BAR_RESOURCES  6
-
 struct serial_private {
        struct pci_dev          *dev;
        unsigned int            nr;
@@ -89,7 +87,7 @@ setup_port(struct serial_private *priv, struct uart_8250_port *port,
 {
        struct pci_dev *dev = priv->dev;
 
-       if (bar >= PCI_NUM_BAR_RESOURCES)
+       if (bar >= PCI_STD_NUM_BARS)
                return -EINVAL;
 
        if (pci_resource_flags(dev, bar) & IORESOURCE_MEM) {
@@ -4060,7 +4058,7 @@ serial_pci_guess_board(struct pci_dev *dev, struct pciserial_board *board)
                return -ENODEV;
 
        num_iomem = num_port = 0;
-       for (i = 0; i < PCI_NUM_BAR_RESOURCES; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (pci_resource_flags(dev, i) & IORESOURCE_IO) {
                        num_port++;
                        if (first_port == -1)
@@ -4088,7 +4086,7 @@ serial_pci_guess_board(struct pci_dev *dev, struct pciserial_board *board)
         */
        first_port = -1;
        num_port = 0;
-       for (i = 0; i < PCI_NUM_BAR_RESOURCES; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                if (pci_resource_flags(dev, i) & IORESOURCE_IO &&
                    pci_resource_len(dev, i) == 8 &&
                    (first_port == -1 || (first_port + num_port) == i)) {
index 9e26b0143a59a5065fa3126afcfdecddb759fa83..9ae2a7a93df20168720413db81e2c882d6e54dda 100644 (file)
@@ -234,7 +234,7 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
                /* UHCI */
                int     region;
 
-               for (region = 0; region < PCI_ROM_RESOURCE; region++) {
+               for (region = 0; region < PCI_STD_NUM_BARS; region++) {
                        if (!(pci_resource_flags(dev, region) &
                                        IORESOURCE_IO))
                                continue;
index f6d04491df608464b02894cb175acafbdcc0b423..6c7f0a876b96ba3c4901d2a2934741fff398fe2b 100644 (file)
@@ -728,7 +728,7 @@ static void quirk_usb_handoff_uhci(struct pci_dev *pdev)
        if (!pio_enabled(pdev))
                return;
 
-       for (i = 0; i < PCI_ROM_RESOURCE; i++)
+       for (i = 0; i < PCI_STD_NUM_BARS; i++)
                if ((pci_resource_flags(pdev, i) & IORESOURCE_IO)) {
                        base = pci_resource_start(pdev, i);
                        break;
index 02206162eaa9ea68455b23272f2d824ff5d5deba..379a02c36e3770b653594d61d8e781253d09595d 100644 (file)
@@ -110,13 +110,15 @@ static inline bool vfio_pci_is_vga(struct pci_dev *pdev)
 static void vfio_pci_probe_mmaps(struct vfio_pci_device *vdev)
 {
        struct resource *res;
-       int bar;
+       int i;
        struct vfio_pci_dummy_resource *dummy_res;
 
        INIT_LIST_HEAD(&vdev->dummy_resources_list);
 
-       for (bar = PCI_STD_RESOURCES; bar <= PCI_STD_RESOURCE_END; bar++) {
-               res = vdev->pdev->resource + bar;
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
+               int bar = i + PCI_STD_RESOURCES;
+
+               res = &vdev->pdev->resource[bar];
 
                if (!IS_ENABLED(CONFIG_VFIO_PCI_MMAP))
                        goto no_mmap;
@@ -399,7 +401,8 @@ static void vfio_pci_disable(struct vfio_pci_device *vdev)
 
        vfio_config_free(vdev);
 
-       for (bar = PCI_STD_RESOURCES; bar <= PCI_STD_RESOURCE_END; bar++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
+               bar = i + PCI_STD_RESOURCES;
                if (!vdev->barmap[bar])
                        continue;
                pci_iounmap(pdev, vdev->barmap[bar]);
index f0891bd8444c739840b331bc3a1ac7935b411ef8..90c0b80f8acf971addcdaa5d7262fc84cdfc14b7 100644 (file)
@@ -450,30 +450,32 @@ static void vfio_bar_fixup(struct vfio_pci_device *vdev)
 {
        struct pci_dev *pdev = vdev->pdev;
        int i;
-       __le32 *bar;
+       __le32 *vbar;
        u64 mask;
 
-       bar = (__le32 *)&vdev->vconfig[PCI_BASE_ADDRESS_0];
+       vbar = (__le32 *)&vdev->vconfig[PCI_BASE_ADDRESS_0];
 
-       for (i = PCI_STD_RESOURCES; i <= PCI_STD_RESOURCE_END; i++, bar++) {
-               if (!pci_resource_start(pdev, i)) {
-                       *bar = 0; /* Unmapped by host = unimplemented to user */
+       for (i = 0; i < PCI_STD_NUM_BARS; i++, vbar++) {
+               int bar = i + PCI_STD_RESOURCES;
+
+               if (!pci_resource_start(pdev, bar)) {
+                       *vbar = 0; /* Unmapped by host = unimplemented to user */
                        continue;
                }
 
-               mask = ~(pci_resource_len(pdev, i) - 1);
+               mask = ~(pci_resource_len(pdev, bar) - 1);
 
-               *bar &= cpu_to_le32((u32)mask);
-               *bar |= vfio_generate_bar_flags(pdev, i);
+               *vbar &= cpu_to_le32((u32)mask);
+               *vbar |= vfio_generate_bar_flags(pdev, bar);
 
-               if (*bar & cpu_to_le32(PCI_BASE_ADDRESS_MEM_TYPE_64)) {
-                       bar++;
-                       *bar &= cpu_to_le32((u32)(mask >> 32));
+               if (*vbar & cpu_to_le32(PCI_BASE_ADDRESS_MEM_TYPE_64)) {
+                       vbar++;
+                       *vbar &= cpu_to_le32((u32)(mask >> 32));
                        i++;
                }
        }
 
-       bar = (__le32 *)&vdev->vconfig[PCI_ROM_ADDRESS];
+       vbar = (__le32 *)&vdev->vconfig[PCI_ROM_ADDRESS];
 
        /*
         * NB. REGION_INFO will have reported zero size if we weren't able
@@ -483,14 +485,14 @@ static void vfio_bar_fixup(struct vfio_pci_device *vdev)
        if (pci_resource_start(pdev, PCI_ROM_RESOURCE)) {
                mask = ~(pci_resource_len(pdev, PCI_ROM_RESOURCE) - 1);
                mask |= PCI_ROM_ADDRESS_ENABLE;
-               *bar &= cpu_to_le32((u32)mask);
+               *vbar &= cpu_to_le32((u32)mask);
        } else if (pdev->resource[PCI_ROM_RESOURCE].flags &
                                        IORESOURCE_ROM_SHADOW) {
                mask = ~(0x20000 - 1);
                mask |= PCI_ROM_ADDRESS_ENABLE;
-               *bar &= cpu_to_le32((u32)mask);
+               *vbar &= cpu_to_le32((u32)mask);
        } else
-               *bar = 0;
+               *vbar = 0;
 
        vdev->bardirty = false;
 }
index ee6ee91718a4d0e0be93767b35539fc43601e7cd..8a2c7607d5136e4db10d18902241aff913280435 100644 (file)
@@ -86,8 +86,8 @@ struct vfio_pci_reflck {
 
 struct vfio_pci_device {
        struct pci_dev          *pdev;
-       void __iomem            *barmap[PCI_STD_RESOURCE_END + 1];
-       bool                    bar_mmap_supported[PCI_STD_RESOURCE_END + 1];
+       void __iomem            *barmap[PCI_STD_NUM_BARS];
+       bool                    bar_mmap_supported[PCI_STD_NUM_BARS];
        u8                      *pci_config_map;
        u8                      *vconfig;
        struct perm_bits        *msi_perm;
index e6a1c805064f07c8ae2499c3a2f9e0a069546999..19af5626a31728d378e4ee28ec7fbdee7c3be4ae 100644 (file)
@@ -1774,7 +1774,7 @@ int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const
        int err, idx, bar;
        bool res_id_found = false;
 
-       for (idx = 0, bar = 0; bar < PCI_ROM_RESOURCE; bar++) {
+       for (idx = 0, bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
                        continue;
                idx++;
@@ -1784,7 +1784,7 @@ int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const
        if (!ap)
                return -ENOMEM;
 
-       for (idx = 0, bar = 0; bar < PCI_ROM_RESOURCE; bar++) {
+       for (idx = 0, bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
                if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
                        continue;
                ap->ranges[idx].base = pci_resource_start(pdev, bar);
index 51d97ec4f58f9243daab981224e2813c5faf2018..1caa3726cb459b5fc0d350f7cebefd225564ebeb 100644 (file)
@@ -653,7 +653,7 @@ static void efifb_fixup_resources(struct pci_dev *dev)
        if (!base)
                return;
 
-       for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
+       for (i = 0; i < PCI_STD_NUM_BARS; i++) {
                struct resource *res = &dev->resource[i];
 
                if (!(res->flags & IORESOURCE_MEM))
index f641badc2c6157c3b1f670b4690b0514d9871352..56f1846b9d396cf90ee6ad1950f9ba615b4e87a6 100644 (file)
@@ -117,7 +117,7 @@ struct pci_epc_features {
        unsigned int    msix_capable : 1;
        u8      reserved_bar;
        u8      bar_fixed_64bit;
-       u64     bar_fixed_size[BAR_5 + 1];
+       u64     bar_fixed_size[PCI_STD_NUM_BARS];
        size_t  align;
 };
 
index f9088c89a534737049463cc024e40db803422cb5..4cc7396161486aead896a0f824ecf1355b489df8 100644 (file)
@@ -82,7 +82,7 @@ enum pci_mmap_state {
 enum {
        /* #0-5: standard PCI resources */
        PCI_STD_RESOURCES,
-       PCI_STD_RESOURCE_END = 5,
+       PCI_STD_RESOURCE_END = PCI_STD_RESOURCES + PCI_STD_NUM_BARS - 1,
 
        /* #6: expansion ROM resource */
        PCI_ROM_RESOURCE,
index 29d6e93fd15e3616f5969d0dc0db3b98506cf490..43cf74eba29d38c8c3c25ee48472aad613ee14f7 100644 (file)
@@ -34,6 +34,7 @@
  * of which the first 64 bytes are standardized as follows:
  */
 #define PCI_STD_HEADER_SIZEOF  64
+#define PCI_STD_NUM_BARS       6       /* Number of standard BARs */
 #define PCI_VENDOR_ID          0x00    /* 16 bits */
 #define PCI_DEVICE_ID          0x02    /* 16 bits */
 #define PCI_COMMAND            0x04    /* 16 bits */
index 6a0e9bd6524aecc06e2e1f3f3da202ec95374202..ab75d73122b82dde17492e39784c79e17e3d7bc9 100644 (file)
@@ -262,7 +262,7 @@ EXPORT_SYMBOL(devm_ioport_unmap);
 /*
  * PCI iomap devres
  */
-#define PCIM_IOMAP_MAX PCI_ROM_RESOURCE
+#define PCIM_IOMAP_MAX PCI_STD_NUM_BARS
 
 struct pcim_iomap_devres {
        void __iomem *table[PCIM_IOMAP_MAX];