" bus 0\n", dev->full_name);
        }
 
+       pci_assign_all_buses = 1;
        hose = pcibios_alloc_controller();
        if (!hose)
                return -ENOMEM;
        if ((rsrc.start & 0xfffff) == 0x8600) {
                setup_indirect_pci(hose, immr + 0x8380, immr + 0x8384);
                primary = 0;
-               hose->bus_offset = hose->first_busno;
        }
 
        printk(KERN_INFO "Found MPC83xx PCI host bridge at 0x%016llx. "
 
                       " bus 0\n", dev->full_name);
        }
 
+       pci_assign_all_buses = 1;
        hose = pcibios_alloc_controller();
        if (!hose)
                return -ENOMEM;
        if ((rsrc.start & 0xfffff) == 0x9000) {
                setup_indirect_pci(hose, immr + 0x9000, immr + 0x9004);
                primary = 0;
-               hose->bus_offset = hose->first_busno;
        }
 
        printk(KERN_INFO "Found MPC85xx PCI host bridge at 0x%016llx. "
 
                        cfg_type = 1;
 
        bus_no = (bus->number == hose->first_busno) ?
-                       hose->self_busno : bus->number - hose->bus_offset;
+                       hose->self_busno : bus->number;
 
        PCI_CFG_OUT(hose->cfg_addr,
                 (0x80000000 | (bus_no << 16)
                        cfg_type = 1;
 
        bus_no = (bus->number == hose->first_busno) ?
-                       hose->self_busno : bus->number - hose->bus_offset;
+                       hose->self_busno : bus->number;
 
        PCI_CFG_OUT(hose->cfg_addr,
                 (0x80000000 | (bus_no << 16)
 
        hose->last_busno = bus_range ? bus_range[1] : 0xff;
 
        setup_indirect_pci(hose, rsrc.start, rsrc.start + 4);
-       hose->bus_offset = hose->first_busno;
+       hose->self_busno = hose->first_busno;
 
        printk(KERN_INFO "Found MV64x60 PCI host bridge at 0x%016llx. "
               "Firmware bus number: %d->%d\n",
 
        int first_busno;
        int last_busno;
        int self_busno;
+       /* bus_offset is only used by ARCH=ppc */
        int bus_offset;
 
        void __iomem *io_base_virt;