diff options
Diffstat (limited to 'arch/arm/mach-orion5x/pci.c')
-rw-r--r-- | arch/arm/mach-orion5x/pci.c | 56 |
1 files changed, 18 insertions, 38 deletions
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c index cb19e1661bb3..6921d49b988d 100644 --- a/arch/arm/mach-orion5x/pci.c +++ b/arch/arm/mach-orion5x/pci.c | |||
@@ -162,35 +162,25 @@ static int __init pcie_setup(struct pci_sys_data *sys) | |||
162 | pcie_ops.read = pcie_rd_conf_wa; | 162 | pcie_ops.read = pcie_rd_conf_wa; |
163 | } | 163 | } |
164 | 164 | ||
165 | pci_ioremap_io(sys->busnr * SZ_64K, ORION5X_PCIE_IO_PHYS_BASE); | ||
166 | |||
165 | /* | 167 | /* |
166 | * Request resources. | 168 | * Request resources. |
167 | */ | 169 | */ |
168 | res = kzalloc(sizeof(struct resource) * 2, GFP_KERNEL); | 170 | res = kzalloc(sizeof(struct resource), GFP_KERNEL); |
169 | if (!res) | 171 | if (!res) |
170 | panic("pcie_setup unable to alloc resources"); | 172 | panic("pcie_setup unable to alloc resources"); |
171 | 173 | ||
172 | /* | 174 | /* |
173 | * IORESOURCE_IO | ||
174 | */ | ||
175 | sys->io_offset = 0; | ||
176 | res[0].name = "PCIe I/O Space"; | ||
177 | res[0].flags = IORESOURCE_IO; | ||
178 | res[0].start = ORION5X_PCIE_IO_BUS_BASE; | ||
179 | res[0].end = res[0].start + ORION5X_PCIE_IO_SIZE - 1; | ||
180 | if (request_resource(&ioport_resource, &res[0])) | ||
181 | panic("Request PCIe IO resource failed\n"); | ||
182 | pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); | ||
183 | |||
184 | /* | ||
185 | * IORESOURCE_MEM | 175 | * IORESOURCE_MEM |
186 | */ | 176 | */ |
187 | res[1].name = "PCIe Memory Space"; | 177 | res->name = "PCIe Memory Space"; |
188 | res[1].flags = IORESOURCE_MEM; | 178 | res->flags = IORESOURCE_MEM; |
189 | res[1].start = ORION5X_PCIE_MEM_PHYS_BASE; | 179 | res->start = ORION5X_PCIE_MEM_PHYS_BASE; |
190 | res[1].end = res[1].start + ORION5X_PCIE_MEM_SIZE - 1; | 180 | res->end = res->start + ORION5X_PCIE_MEM_SIZE - 1; |
191 | if (request_resource(&iomem_resource, &res[1])) | 181 | if (request_resource(&iomem_resource, res)) |
192 | panic("Request PCIe Memory resource failed\n"); | 182 | panic("Request PCIe Memory resource failed\n"); |
193 | pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); | 183 | pci_add_resource_offset(&sys->resources, res, sys->mem_offset); |
194 | 184 | ||
195 | return 1; | 185 | return 1; |
196 | } | 186 | } |
@@ -489,35 +479,25 @@ static int __init pci_setup(struct pci_sys_data *sys) | |||
489 | */ | 479 | */ |
490 | orion5x_setbits(PCI_CMD, PCI_CMD_HOST_REORDER); | 480 | orion5x_setbits(PCI_CMD, PCI_CMD_HOST_REORDER); |
491 | 481 | ||
482 | pci_ioremap_io(sys->busnr * SZ_64K, ORION5X_PCI_IO_PHYS_BASE); | ||
483 | |||
492 | /* | 484 | /* |
493 | * Request resources | 485 | * Request resources |
494 | */ | 486 | */ |
495 | res = kzalloc(sizeof(struct resource) * 2, GFP_KERNEL); | 487 | res = kzalloc(sizeof(struct resource), GFP_KERNEL); |
496 | if (!res) | 488 | if (!res) |
497 | panic("pci_setup unable to alloc resources"); | 489 | panic("pci_setup unable to alloc resources"); |
498 | 490 | ||
499 | /* | 491 | /* |
500 | * IORESOURCE_IO | ||
501 | */ | ||
502 | sys->io_offset = 0; | ||
503 | res[0].name = "PCI I/O Space"; | ||
504 | res[0].flags = IORESOURCE_IO; | ||
505 | res[0].start = ORION5X_PCI_IO_BUS_BASE; | ||
506 | res[0].end = res[0].start + ORION5X_PCI_IO_SIZE - 1; | ||
507 | if (request_resource(&ioport_resource, &res[0])) | ||
508 | panic("Request PCI IO resource failed\n"); | ||
509 | pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); | ||
510 | |||
511 | /* | ||
512 | * IORESOURCE_MEM | 492 | * IORESOURCE_MEM |
513 | */ | 493 | */ |
514 | res[1].name = "PCI Memory Space"; | 494 | res->name = "PCI Memory Space"; |
515 | res[1].flags = IORESOURCE_MEM; | 495 | res->flags = IORESOURCE_MEM; |
516 | res[1].start = ORION5X_PCI_MEM_PHYS_BASE; | 496 | res->start = ORION5X_PCI_MEM_PHYS_BASE; |
517 | res[1].end = res[1].start + ORION5X_PCI_MEM_SIZE - 1; | 497 | res->end = res->start + ORION5X_PCI_MEM_SIZE - 1; |
518 | if (request_resource(&iomem_resource, &res[1])) | 498 | if (request_resource(&iomem_resource, res)) |
519 | panic("Request PCI Memory resource failed\n"); | 499 | panic("Request PCI Memory resource failed\n"); |
520 | pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); | 500 | pci_add_resource_offset(&sys->resources, res, sys->mem_offset); |
521 | 501 | ||
522 | return 1; | 502 | return 1; |
523 | } | 503 | } |