/* This routine is called both during boot, (before the memory subsystem is set up, before kmalloc is valid) and during the dynamic lpar operation of adding a PHB to a running system.  */
void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb)
/* This routine is called both during boot, (before the memory subsystem is set up, before kmalloc is valid) and during the dynamic lpar operation of adding a PHB to a running system.  */
void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb)
{
	struct device_node *dn = phb->dn;
	struct pci_dn *pdn;
	update_dn_pci_info(dn, phb);
	pdn = dn->data;
	if (pdn) {
		pdn->devfn = pdn->busno = -1;
		pdn->phb = phb;
	}
	traverse_pci_devices(dn, update_dn_pci_info, phb);
}