diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-02-23 22:19:01 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-02-23 22:19:01 -0500 |
commit | 9f786d033d025ab7d2c4d1b959aa81d935eb9e19 (patch) | |
tree | 5a92b3c43935efd5044972fb45eaa2c7ca1c2fcf /arch/arm/mach-orion5x | |
parent | c04d9e35790013606f18cf56db07f80c3a339608 (diff) |
arm/PCI: get rid of device resource fixups
Tell the PCI core about host bridge address translation so it can take
care of bus-to-resource conversion for us.
CC: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'arch/arm/mach-orion5x')
-rw-r--r-- | arch/arm/mach-orion5x/pci.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c index 09a045f0c406..d6a91948e4dc 100644 --- a/arch/arm/mach-orion5x/pci.c +++ b/arch/arm/mach-orion5x/pci.c | |||
@@ -171,13 +171,14 @@ static int __init pcie_setup(struct pci_sys_data *sys) | |||
171 | /* | 171 | /* |
172 | * IORESOURCE_IO | 172 | * IORESOURCE_IO |
173 | */ | 173 | */ |
174 | sys->io_offset = 0; | ||
174 | res[0].name = "PCIe I/O Space"; | 175 | res[0].name = "PCIe I/O Space"; |
175 | res[0].flags = IORESOURCE_IO; | 176 | res[0].flags = IORESOURCE_IO; |
176 | res[0].start = ORION5X_PCIE_IO_BUS_BASE; | 177 | res[0].start = ORION5X_PCIE_IO_BUS_BASE; |
177 | res[0].end = res[0].start + ORION5X_PCIE_IO_SIZE - 1; | 178 | res[0].end = res[0].start + ORION5X_PCIE_IO_SIZE - 1; |
178 | if (request_resource(&ioport_resource, &res[0])) | 179 | if (request_resource(&ioport_resource, &res[0])) |
179 | panic("Request PCIe IO resource failed\n"); | 180 | panic("Request PCIe IO resource failed\n"); |
180 | pci_add_resource(&sys->resources, &res[0]); | 181 | pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); |
181 | 182 | ||
182 | /* | 183 | /* |
183 | * IORESOURCE_MEM | 184 | * IORESOURCE_MEM |
@@ -188,9 +189,7 @@ static int __init pcie_setup(struct pci_sys_data *sys) | |||
188 | res[1].end = res[1].start + ORION5X_PCIE_MEM_SIZE - 1; | 189 | res[1].end = res[1].start + ORION5X_PCIE_MEM_SIZE - 1; |
189 | if (request_resource(&iomem_resource, &res[1])) | 190 | if (request_resource(&iomem_resource, &res[1])) |
190 | panic("Request PCIe Memory resource failed\n"); | 191 | panic("Request PCIe Memory resource failed\n"); |
191 | pci_add_resource(&sys->resources, &res[1]); | 192 | pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); |
192 | |||
193 | sys->io_offset = 0; | ||
194 | 193 | ||
195 | return 1; | 194 | return 1; |
196 | } | 195 | } |
@@ -499,13 +498,14 @@ static int __init pci_setup(struct pci_sys_data *sys) | |||
499 | /* | 498 | /* |
500 | * IORESOURCE_IO | 499 | * IORESOURCE_IO |
501 | */ | 500 | */ |
501 | sys->io_offset = 0; | ||
502 | res[0].name = "PCI I/O Space"; | 502 | res[0].name = "PCI I/O Space"; |
503 | res[0].flags = IORESOURCE_IO; | 503 | res[0].flags = IORESOURCE_IO; |
504 | res[0].start = ORION5X_PCI_IO_BUS_BASE; | 504 | res[0].start = ORION5X_PCI_IO_BUS_BASE; |
505 | res[0].end = res[0].start + ORION5X_PCI_IO_SIZE - 1; | 505 | res[0].end = res[0].start + ORION5X_PCI_IO_SIZE - 1; |
506 | if (request_resource(&ioport_resource, &res[0])) | 506 | if (request_resource(&ioport_resource, &res[0])) |
507 | panic("Request PCI IO resource failed\n"); | 507 | panic("Request PCI IO resource failed\n"); |
508 | pci_add_resource(&sys->resources, &res[0]); | 508 | pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); |
509 | 509 | ||
510 | /* | 510 | /* |
511 | * IORESOURCE_MEM | 511 | * IORESOURCE_MEM |
@@ -516,9 +516,7 @@ static int __init pci_setup(struct pci_sys_data *sys) | |||
516 | res[1].end = res[1].start + ORION5X_PCI_MEM_SIZE - 1; | 516 | res[1].end = res[1].start + ORION5X_PCI_MEM_SIZE - 1; |
517 | if (request_resource(&iomem_resource, &res[1])) | 517 | if (request_resource(&iomem_resource, &res[1])) |
518 | panic("Request PCI Memory resource failed\n"); | 518 | panic("Request PCI Memory resource failed\n"); |
519 | pci_add_resource(&sys->resources, &res[1]); | 519 | pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); |
520 | |||
521 | sys->io_offset = 0; | ||
522 | 520 | ||
523 | return 1; | 521 | return 1; |
524 | } | 522 | } |