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 cb19e1661bb..6921d49b988 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)  		pcie_ops.read = pcie_rd_conf_wa;  	} +	pci_ioremap_io(sys->busnr * SZ_64K, ORION5X_PCIE_IO_PHYS_BASE); +  	/*  	 * Request resources.  	 */ -	res = kzalloc(sizeof(struct resource) * 2, GFP_KERNEL); +	res = kzalloc(sizeof(struct resource), GFP_KERNEL);  	if (!res)  		panic("pcie_setup unable to alloc resources");  	/* -	 * IORESOURCE_IO -	 */ -	sys->io_offset = 0; -	res[0].name = "PCIe I/O Space"; -	res[0].flags = IORESOURCE_IO; -	res[0].start = ORION5X_PCIE_IO_BUS_BASE; -	res[0].end = res[0].start + ORION5X_PCIE_IO_SIZE - 1; -	if (request_resource(&ioport_resource, &res[0])) -		panic("Request PCIe IO resource failed\n"); -	pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); - -	/*  	 * IORESOURCE_MEM  	 */ -	res[1].name = "PCIe Memory Space"; -	res[1].flags = IORESOURCE_MEM; -	res[1].start = ORION5X_PCIE_MEM_PHYS_BASE; -	res[1].end = res[1].start + ORION5X_PCIE_MEM_SIZE - 1; -	if (request_resource(&iomem_resource, &res[1])) +	res->name = "PCIe Memory Space"; +	res->flags = IORESOURCE_MEM; +	res->start = ORION5X_PCIE_MEM_PHYS_BASE; +	res->end = res->start + ORION5X_PCIE_MEM_SIZE - 1; +	if (request_resource(&iomem_resource, res))  		panic("Request PCIe Memory resource failed\n"); -	pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); +	pci_add_resource_offset(&sys->resources, res, sys->mem_offset);  	return 1;  } @@ -489,35 +479,25 @@ static int __init pci_setup(struct pci_sys_data *sys)  	 */  	orion5x_setbits(PCI_CMD, PCI_CMD_HOST_REORDER); +	pci_ioremap_io(sys->busnr * SZ_64K, ORION5X_PCI_IO_PHYS_BASE); +  	/*  	 * Request resources  	 */ -	res = kzalloc(sizeof(struct resource) * 2, GFP_KERNEL); +	res = kzalloc(sizeof(struct resource), GFP_KERNEL);  	if (!res)  		panic("pci_setup unable to alloc resources");  	/* -	 * IORESOURCE_IO -	 */ -	sys->io_offset = 0; -	res[0].name = "PCI I/O Space"; -	res[0].flags = IORESOURCE_IO; -	res[0].start = ORION5X_PCI_IO_BUS_BASE; -	res[0].end = res[0].start + ORION5X_PCI_IO_SIZE - 1; -	if (request_resource(&ioport_resource, &res[0])) -		panic("Request PCI IO resource failed\n"); -	pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); - -	/*  	 * IORESOURCE_MEM  	 */ -	res[1].name = "PCI Memory Space"; -	res[1].flags = IORESOURCE_MEM; -	res[1].start = ORION5X_PCI_MEM_PHYS_BASE; -	res[1].end = res[1].start + ORION5X_PCI_MEM_SIZE - 1; -	if (request_resource(&iomem_resource, &res[1])) +	res->name = "PCI Memory Space"; +	res->flags = IORESOURCE_MEM; +	res->start = ORION5X_PCI_MEM_PHYS_BASE; +	res->end = res->start + ORION5X_PCI_MEM_SIZE - 1; +	if (request_resource(&iomem_resource, res))  		panic("Request PCI Memory resource failed\n"); -	pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); +	pci_add_resource_offset(&sys->resources, res, sys->mem_offset);  	return 1;  }  |