evcount_attach(&ih->ih_count, name, (void *)&ih->ih_irq, &evcount_intr);
footbridge_intr_claim(int irq, int ipl, char *name, int (*func)(void *), void *arg){	struct intrq *iq;	struct intrhand *ih;	u_int oldirqstate;	if (irq < 0 || irq > NIRQ)		panic("footbridge_intr_establish: IRQ %d out of range", irq);	ih = malloc(sizeof(*ih), M_DEVBUF, M_NOWAIT);	if (ih == NULL)	{		printf("No memory");		return (NULL);	}			ih->ih_func = func;	ih->ih_arg = arg;	ih->ih_ipl = ipl;	ih->ih_irq = irq;	iq = &footbridge_intrq[irq];	iq->iq_ist = IST_LEVEL;	oldirqstate = disable_interrupts(I32_bit);	TAILQ_INSERT_TAIL(&iq->iq_list, ih, ih_list);	footbridge_intr_calculate_masks();	/* detach the existing event counter and add the new name */#if 0	evcnt_detach(&iq->iq_ev);	evcnt_attach_dynamic(&iq->iq_ev, EVCNT_TYPE_INTR,			NULL, "footbridge", name);#endif		restore_interrupts(oldirqstate);		return(ih);}