summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/dev/dcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/hp300/dev/dcm.c')
-rw-r--r--sys/arch/hp300/dev/dcm.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/arch/hp300/dev/dcm.c b/sys/arch/hp300/dev/dcm.c
index 038f321ba65..1a268611b19 100644
--- a/sys/arch/hp300/dev/dcm.c
+++ b/sys/arch/hp300/dev/dcm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dcm.c,v 1.18 2004/09/19 21:34:42 mickey Exp $ */
+/* $OpenBSD: dcm.c,v 1.19 2004/09/29 07:35:52 miod Exp $ */
/* $NetBSD: dcm.c,v 1.41 1997/05/05 20:59:16 thorpej Exp $ */
/*
@@ -217,6 +217,7 @@ static char iconv[16] = {
struct dcm_softc {
struct device sc_dev; /* generic device glue */
+ struct isr sc_isr;
struct dcmdevice *sc_dcm; /* pointer to hardware */
struct tty *sc_tty[NDCMPORT]; /* our tty instances */
struct modemreg *sc_modem[NDCMPORT]; /* modem control */
@@ -352,7 +353,11 @@ dcmattach(parent, self, aux)
sc->sc_flags |= DCM_ACTIVE;
/* Establish the interrupt handler. */
- (void) dio_intr_establish(dcmintr, sc, ipl, IPL_TTY);
+ sc->sc_isr.isr_func = dcmintr;
+ sc->sc_isr.isr_arg = sc;
+ sc->sc_isr.isr_ipl = ipl;
+ sc->sc_isr.isr_priority = IPL_TTY;
+ dio_intr_establish(&sc->sc_isr, self->dv_xname);
if (dcmistype == DIS_TIMER)
dcmsetischeme(brd, DIS_RESET|DIS_TIMER);
@@ -668,6 +673,7 @@ dcmintr(arg)
SEM_UNLOCK(dcm);
return (0);
}
+
for (i = 0; i < 4; i++) {
pcnd[i] = dcm->dcm_icrtab[i].dcm_data;
dcm->dcm_icrtab[i].dcm_data = 0;