diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2011-10-28 18:26:16 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2012-01-06 15:10:56 -0500 |
commit | 37d15909ff6bf6e97e1d4447efa7f1a19e7a508e (patch) | |
tree | 03d1be5fc753995295a6812e4bed485be73d2512 /arch/arm/mach-cns3xxx | |
parent | a2f33da11ab9efba25d41e959de6338a9078fb36 (diff) |
arm/PCI: convert to pci_scan_root_bus() for correct root bus resources
Convert from pci_scan_bus() to pci_scan_root_bus() and remove root bus
resource fixups. This fixes the problem of "early" and "header" quirks
seeing incorrect root bus resources.
CC: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'arch/arm/mach-cns3xxx')
-rw-r--r-- | arch/arm/mach-cns3xxx/pcie.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c index 0f8fca48a5ed..e159d69967c9 100644 --- a/arch/arm/mach-cns3xxx/pcie.c +++ b/arch/arm/mach-cns3xxx/pcie.c | |||
@@ -151,13 +151,12 @@ static int cns3xxx_pci_setup(int nr, struct pci_sys_data *sys) | |||
151 | struct cns3xxx_pcie *cnspci = sysdata_to_cnspci(sys); | 151 | struct cns3xxx_pcie *cnspci = sysdata_to_cnspci(sys); |
152 | struct resource *res_io = &cnspci->res_io; | 152 | struct resource *res_io = &cnspci->res_io; |
153 | struct resource *res_mem = &cnspci->res_mem; | 153 | struct resource *res_mem = &cnspci->res_mem; |
154 | struct resource **sysres = sys->resource; | ||
155 | 154 | ||
156 | BUG_ON(request_resource(&iomem_resource, res_io) || | 155 | BUG_ON(request_resource(&iomem_resource, res_io) || |
157 | request_resource(&iomem_resource, res_mem)); | 156 | request_resource(&iomem_resource, res_mem)); |
158 | 157 | ||
159 | sysres[0] = res_io; | 158 | pci_add_resource(&sys->resources, res_io); |
160 | sysres[1] = res_mem; | 159 | pci_add_resource(&sys->resources, res_mem); |
161 | 160 | ||
162 | return 1; | 161 | return 1; |
163 | } | 162 | } |
@@ -169,7 +168,8 @@ static struct pci_ops cns3xxx_pcie_ops = { | |||
169 | 168 | ||
170 | static struct pci_bus *cns3xxx_pci_scan_bus(int nr, struct pci_sys_data *sys) | 169 | static struct pci_bus *cns3xxx_pci_scan_bus(int nr, struct pci_sys_data *sys) |
171 | { | 170 | { |
172 | return pci_scan_bus(sys->busnr, &cns3xxx_pcie_ops, sys); | 171 | return pci_scan_root_bus(NULL, sys->busnr, &cns3xxx_pcie_ops, sys, |
172 | &sys->resources); | ||
173 | } | 173 | } |
174 | 174 | ||
175 | static int cns3xxx_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) | 175 | static int cns3xxx_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) |