timeout_set(&sc->sc_read_to, nhpibreadtimo, &sc->sc_hpibbus); timeout_set(&sc->sc_watch_to, nhpibppwatch, &sc->sc_hpibbus);
timeout_set(&sc->sc_read_to, nhpibreadtimo, sc);
nhpibattach(parent, self, aux)	struct device *parent, *self;	void *aux;{	struct nhpib_softc *sc = (struct nhpib_softc *)self;	struct dio_attach_args *da = aux;	struct hpibdev_attach_args ha;	const char *desc;	int ipl, type = HPIBA;	sc->sc_regs = (struct nhpibdevice *)iomap(dio_scodetopa(da->da_scode),	    da->da_size);	if (sc->sc_regs == NULL) {		printf("\n%s: can't map registers\n", self->dv_xname);		return;	}	ipl = DIO_IPL(sc->sc_regs);	if (da->da_scode == 7 && internalhpib)		desc = DIO_DEVICE_DESC_IHPIB;	else if (da->da_id == DIO_DEVICE_ID_NHPIB) {		type = HPIBB;		desc = DIO_DEVICE_DESC_NHPIB;	} else		desc = "unknown HP-IB!";	printf(" ipl %d: %s\n", ipl, desc);	/* Establish the interrupt handler. */	sc->sc_isr.isr_func = nhpibintr;	sc->sc_isr.isr_arg = sc;	sc->sc_isr.isr_ipl = ipl;	sc->sc_isr.isr_priority = IPL_BIO;	dio_intr_establish(&sc->sc_isr, self->dv_xname);	/* Initialize timeout structures */	timeout_set(&sc->sc_read_to, nhpibreadtimo, &sc->sc_hpibbus);	timeout_set(&sc->sc_watch_to, nhpibppwatch, &sc->sc_hpibbus);	ha.ha_ops = &nhpib_controller;	ha.ha_type = type;			/* XXX */	ha.ha_ba = (type == HPIBA) ? HPIBA_BA :	    (sc->sc_regs->hpib_csa & CSA_BA);	ha.ha_softcpp = &sc->sc_hpibbus;	/* XXX */	(void)config_found(self, &ha, hpibdevprint);}