static void __init psycho_register_error_handlers(struct pci_controller_info *p) 
static void psycho_register_error_handlers(struct pci_controller_info *p) 
static void __init psycho_register_error_handlers(struct pci_controller_info *p){	struct pci_pbm_info *pbm = &p->pbm_A; /* arbitrary */	unsigned long base = p->pbm_A.controller_regs;	unsigned int irq, portid = pbm->portid;	u64 tmp;	/* Build IRQs and register handlers. */	irq = psycho_irq_build(pbm, NULL, (portid << 6) | PSYCHO_UE_INO);	if (request_irq(irq, psycho_ue_intr,			SA_SHIRQ, "PSYCHO UE", p) < 0) {		prom_printf("PSYCHO%d: Cannot register UE interrupt.\n",			    p->index);		prom_halt();	}	irq = psycho_irq_build(pbm, NULL, (portid << 6) | PSYCHO_CE_INO);	if (request_irq(irq, psycho_ce_intr,			SA_SHIRQ, "PSYCHO CE", p) < 0) {		prom_printf("PSYCHO%d: Cannot register CE interrupt.\n",			    p->index);		prom_halt();	}	pbm = &p->pbm_A;	irq = psycho_irq_build(pbm, NULL, (portid << 6) | PSYCHO_PCIERR_A_INO);	if (request_irq(irq, psycho_pcierr_intr,			SA_SHIRQ, "PSYCHO PCIERR", &p->pbm_A) < 0) {		prom_printf("PSYCHO%d(PBMA): Cannot register PciERR interrupt.\n",			    p->index);		prom_halt();	}	pbm = &p->pbm_B;	irq = psycho_irq_build(pbm, NULL, (portid << 6) | PSYCHO_PCIERR_B_INO);	if (request_irq(irq, psycho_pcierr_intr,			SA_SHIRQ, "PSYCHO PCIERR", &p->pbm_B) < 0) {		prom_printf("PSYCHO%d(PBMB): Cannot register PciERR interrupt.\n",			    p->index);		prom_halt();	}	/* Enable UE and CE interrupts for controller. */	psycho_write(base + PSYCHO_ECC_CTRL,		     (PSYCHO_ECCCTRL_EE |		      PSYCHO_ECCCTRL_UE |		      PSYCHO_ECCCTRL_CE));	/* Enable PCI Error interrupts and clear error	 * bits for each PBM.	 */	tmp = psycho_read(base + PSYCHO_PCIA_CTRL);	tmp |= (PSYCHO_PCICTRL_SERR |		PSYCHO_PCICTRL_SBH_ERR |		PSYCHO_PCICTRL_EEN);	tmp &= ~(PSYCHO_PCICTRL_SBH_INT);	psycho_write(base + PSYCHO_PCIA_CTRL, tmp);		     	tmp = psycho_read(base + PSYCHO_PCIB_CTRL);	tmp |= (PSYCHO_PCICTRL_SERR |		PSYCHO_PCICTRL_SBH_ERR |		PSYCHO_PCICTRL_EEN);	tmp &= ~(PSYCHO_PCICTRL_SBH_INT);	psycho_write(base + PSYCHO_PCIB_CTRL, tmp);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/085ae41f66657a9655ce832b0a61832a06f0e1dc/pci_psycho.c/buggy/arch/sparc64/kernel/pci_psycho.c