summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/isa/pcppi.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/isa/pcppi.c b/sys/dev/isa/pcppi.c
index 3fdba2b4dcb..6bb451d66d1 100644
--- a/sys/dev/isa/pcppi.c
+++ b/sys/dev/isa/pcppi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcppi.c,v 1.1 1999/01/02 00:02:44 niklas Exp $ */
+/* $OpenBSD: pcppi.c,v 1.2 2000/06/30 06:55:53 art Exp $ */
/* $NetBSD: pcppi.c,v 1.1 1998/04/15 20:26:18 drochner Exp $ */
/*
@@ -52,6 +52,7 @@ struct pcppi_softc {
int sc_bellactive, sc_bellpitch;
int sc_slp;
+ struct timeout sc_bell_timeout;
};
#define __BROKEN_INDIRECT_CONFIG /* XXX */
@@ -164,6 +165,7 @@ pcppi_attach(parent, self, aux)
printf("\n");
sc->sc_bellactive = sc->sc_bellpitch = sc->sc_slp = 0;
+ timeout_set(&sc->sc_bell_timeout, pcppi_bell_stop, sc);
pa.pa_cookie = sc;
while (config_found(self, &pa, 0));
@@ -180,7 +182,7 @@ pcppi_bell(self, pitch, period, slp)
s1 = spltty(); /* ??? */
if (sc->sc_bellactive) {
- untimeout(pcppi_bell_stop, sc);
+ timeout_del(&sc->sc_bell_timeout);
if (sc->sc_slp)
wakeup(pcppi_bell_stop);
}
@@ -207,7 +209,7 @@ pcppi_bell(self, pitch, period, slp)
sc->sc_bellpitch = pitch;
sc->sc_bellactive = 1;
- timeout(pcppi_bell_stop, sc, period);
+ timeout_add(&sc->sc_bell_timeout, period);
if (slp) {
sc->sc_slp = 1;
tsleep(pcppi_bell_stop, PCPPIPRI | PCATCH, "bell", 0);