 PPCDBG(PPCDBG_BUSWALK, "find_and_init_phbs Entry\n"); 
unsigned long __init find_and_init_phbs(void){	struct pci_controller *phb;	HvBusNumber bus;	PPCDBG(PPCDBG_BUSWALK, "find_and_init_phbs Entry\n");	/* Check all possible buses. */	for (bus = 0; bus < 256; bus++) {		int ret = HvCallXm_testBus(bus);		if (ret == 0) {			printk("bus %d appears to exist\n", bus);			phb = (struct pci_controller *)kmalloc(sizeof(struct pci_controller), GFP_KERNEL);			if (phb == NULL)				return -ENOMEM;			pci_setup_pci_controller(phb);			phb->pci_mem_offset = phb->local_number = bus;			phb->first_busno = bus;			phb->last_busno = bus;			phb->ops = &iSeries_pci_ops;			PPCDBG(PPCDBG_BUSWALK, "PCI:Create iSeries pci_controller(%p), Bus: %04X\n",					phb, bus);			/* Find and connect the devices. */			scan_PHB_slots(phb);		}		/*		 * Check for Unexpected Return code, a clue that something		 * has gone wrong.		 */		else if (ret != 0x0301)			printk(KERN_ERR "Unexpected Return on Probe(0x%04X): 0x%04X",			       bus, ret);	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/dcad47fc423ac9f4934579af814fa2dad5c8081b/pci.c/clean/arch/powerpc/platforms/iseries/pci.c