diff options
author | Lucas Stach <dev@lynxeye.de> | 2014-10-04 19:40:09 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-10-08 08:39:00 +0200 |
commit | 06ac5b551e29c828c87dd51d57799f9ebc8eef33 (patch) | |
tree | 21d013f5b70bc7e2d6ff6b2eb2f8531e917244cb | |
parent | 72d9846fa6a940ae77ff92ac4413a6e28729a8aa (diff) | |
download | barebox-06ac5b551e29c828c87dd51d57799f9ebc8eef33.tar.gz barebox-06ac5b551e29c828c87dd51d57799f9ebc8eef33.tar.xz |
pci: add resource enum
Makes things way clearer than juggling numbers.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/pci/pci.c | 14 | ||||
-rw-r--r-- | include/linux/pci.h | 6 |
2 files changed, 14 insertions, 6 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index ef998dc81a..e9f0cb53e7 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -41,15 +41,15 @@ void register_pci_controller(struct pci_controller *hose) hose->bus = bus; bus->host = hose; bus->ops = hose->pci_ops; - bus->resource[0] = hose->mem_resource; - bus->resource[1] = hose->io_resource; + bus->resource[PCI_BUS_RESOURCE_MEM] = hose->mem_resource; + bus->resource[PCI_BUS_RESOURCE_IO] = hose->io_resource; bus->number = bus_index++; if (hose->set_busno) hose->set_busno(hose, bus->number); - last_mem = bus->resource[0]->start; - last_io = bus->resource[1]->start; + last_mem = bus->resource[PCI_BUS_RESOURCE_MEM]->start; + last_io = bus->resource[PCI_BUS_RESOURCE_IO]->start; pci_scan_bus(bus); @@ -141,7 +141,8 @@ static void setup_device(struct pci_dev *dev, int max_bar) if (mask & 0x01) { /* IO */ size = -(mask & 0xfffffffe); DBG(" PCI: pbar%d: mask=%08x io %d bytes\n", bar, mask, size); - if (last_mem + size > dev->bus->resource[0]->end) { + if (last_io + size > + dev->bus->resource[PCI_BUS_RESOURCE_IO]->end) { DBG("BAR does not fit within bus IO res\n"); return; } @@ -152,7 +153,8 @@ static void setup_device(struct pci_dev *dev, int max_bar) } else { /* MEM */ size = -(mask & 0xfffffff0); DBG(" PCI: pbar%d: mask=%08x memory %d bytes\n", bar, mask, size); - if (last_mem + size > dev->bus->resource[0]->end) { + if (last_mem + size > + dev->bus->resource[PCI_BUS_RESOURCE_MEM]->end) { DBG("BAR does not fit within bus mem res\n"); return; } diff --git a/include/linux/pci.h b/include/linux/pci.h index 0ec1320b2f..f5ef588171 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -114,6 +114,12 @@ struct pci_dev { }; #define to_pci_dev(dev) container_of(dev, struct pci_dev, dev) +enum { + PCI_BUS_RESOURCE_IO = 0, + PCI_BUS_RESOURCE_MEM = 1, + PCI_BUS_RESOURCE_MEM_PREF = 2, + PCI_BUS_RESOURCE_BUSN = 3, +}; struct pci_bus { struct pci_controller *host; /* associated host controller */ struct list_head node; /* node in list of buses */ |