diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/86xx/pci.c | 4 | ||||
-rw-r--r-- | arch/powerpc/sysdev/indirect_pci.c | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/86xx/pci.c b/arch/powerpc/platforms/86xx/pci.c index 3825e1ac5312..6f3c0f674bbf 100644 --- a/arch/powerpc/platforms/86xx/pci.c +++ b/arch/powerpc/platforms/86xx/pci.c | |||
@@ -158,11 +158,13 @@ int __init mpc86xx_add_bridge(struct device_node *dev) | |||
158 | printk(KERN_WARNING "Can't get bus-range for %s, assume" | 158 | printk(KERN_WARNING "Can't get bus-range for %s, assume" |
159 | " bus 0\n", dev->full_name); | 159 | " bus 0\n", dev->full_name); |
160 | 160 | ||
161 | pci_assign_all_buses = 1; | ||
161 | hose = pcibios_alloc_controller(); | 162 | hose = pcibios_alloc_controller(); |
162 | if (!hose) | 163 | if (!hose) |
163 | return -ENOMEM; | 164 | return -ENOMEM; |
164 | hose->arch_data = dev; | 165 | hose->arch_data = dev; |
165 | hose->indirect_type = PPC_INDIRECT_TYPE_EXT_REG; | 166 | hose->indirect_type = PPC_INDIRECT_TYPE_EXT_REG | |
167 | PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS; | ||
166 | 168 | ||
167 | hose->first_busno = bus_range ? bus_range[0] : 0x0; | 169 | hose->first_busno = bus_range ? bus_range[0] : 0x0; |
168 | hose->last_busno = bus_range ? bus_range[1] : 0xff; | 170 | hose->last_busno = bus_range ? bus_range[1] : 0xff; |
diff --git a/arch/powerpc/sysdev/indirect_pci.c b/arch/powerpc/sysdev/indirect_pci.c index 3a1612253c60..c7e6e859b393 100644 --- a/arch/powerpc/sysdev/indirect_pci.c +++ b/arch/powerpc/sysdev/indirect_pci.c | |||
@@ -103,6 +103,12 @@ indirect_write_config(struct pci_bus *bus, unsigned int devfn, int offset, | |||
103 | (0x80000000 | (bus_no << 16) | 103 | (0x80000000 | (bus_no << 16) |
104 | | (devfn << 8) | reg | cfg_type)); | 104 | | (devfn << 8) | reg | cfg_type)); |
105 | 105 | ||
106 | /* surpress setting of PCI_PRIMARY_BUS */ | ||
107 | if (hose->indirect_type & PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS) | ||
108 | if ((offset == PCI_PRIMARY_BUS) && | ||
109 | (bus->number == hose->first_busno)) | ||
110 | val &= 0xffffff00; | ||
111 | |||
106 | /* | 112 | /* |
107 | * Note: the caller has already checked that offset is | 113 | * Note: the caller has already checked that offset is |
108 | * suitably aligned and that len is 1, 2 or 4. | 114 | * suitably aligned and that len is 1, 2 or 4. |