As per dev/wscons/wsconsio.h, wskbd_bell_data.period is a count of
milliseconds.

ok?

Index: sunkbd.c
===================================================================
RCS file: /cvs/src/sys/dev/sun/sunkbd.c,v
retrieving revision 1.27
diff -u -p -r1.27 sunkbd.c
--- sunkbd.c    19 Mar 2016 11:41:56 -0000      1.27
+++ sunkbd.c    22 Dec 2019 19:28:46 -0000
@@ -84,7 +84,7 @@ sunkbd_attach(struct sunkbd_softc *sc, s
 void
 sunkbd_bell(struct sunkbd_softc *sc, u_int period, u_int pitch, u_int volume)
 {
-       int nticks, s;
+       int s;
        u_int8_t c = SKBD_CMD_BELLON;
 
 #if NTCTRL > 0
@@ -103,14 +103,10 @@ sunkbd_bell(struct sunkbd_softc *sc, u_i
                return;
        }
        if (sc->sc_bellactive == 0) {
-               nticks = (period * hz) / 1000;
-               if (nticks <= 0)
-                       nticks = 1;
-
                sc->sc_bellactive = 1;
                sc->sc_belltimeout = 1;
                (*sc->sc_sendcmd)(sc, &c, 1);
-               timeout_add(&sc->sc_bellto, nticks);
+               timeout_add_msec(&sc->sc_bellto, period);
        }
        splx(s);
 }

Reply via email to