/* Setup the Winbond or Via PIB */ prep_pib_init(); 
/* Setup the Winbond or Via PIB - prep_pib_init() is coded for * the non-openpic case, but it breaks (at least) the Utah * (Powerstack II Pro4000), so only call it if we have an * openpic. */ if (have_openpic) prep_pib_init(); 
prep_pcibios_fixup(void){        struct pci_dev *dev = NULL;	int irq;	int have_openpic = (OpenPIC_Addr != NULL);	prep_route_pci_interrupts();	printk("Setting PCI interrupts for a \"%s\"\n", Motherboard_map_name);	/* Iterate through all the PCI devices, setting the IRQ */	for_each_pci_dev(dev) {		/*		 * If we have residual data, then this is easy: query the		 * residual data for the IRQ line allocated to the device.		 * This works the same whether we have an OpenPic or not.		 */		if (have_residual_data) {			irq = residual_pcidev_irq(dev);			dev->irq = have_openpic ? openpic_to_irq(irq) : irq;		}		/*		 * If we don't have residual data, then we need to use		 * tables to determine the IRQ.  The table organisation		 * is different depending on whether there is an OpenPIC		 * or not.  The tables are only used for bus 0, so check		 * this first.		 */		else if (dev->bus->number == 0) {			irq = Motherboard_map[PCI_SLOT(dev->devfn)];			dev->irq = have_openpic ? openpic_to_irq(irq)						: Motherboard_routes[irq];		}		/*		 * Finally, if we don't have residual data and the bus is		 * non-zero, use the callback (if provided)		 */		else {			if (Motherboard_non0 != NULL)				Motherboard_non0(dev);			continue;		}		pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq);	}	/* Setup the Winbond or Via PIB */	prep_pib_init();}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b625a2b85221821b6831a387ee23ff7d93ffb7d1/prep_pci.c/clean/arch/ppc/platforms/prep_pci.c