summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/ums.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/ums.c')
-rw-r--r--sys/dev/usb/ums.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c
index bb7193d..9355d82 100644
--- a/sys/dev/usb/ums.c
+++ b/sys/dev/usb/ums.c
@@ -97,7 +97,7 @@ struct ums_softc {
struct hid_location sc_loc_x, sc_loc_y, sc_loc_z;
struct hid_location *sc_loc_btn;
- struct callout_handle timeout_handle; /* for spurious button ups */
+ usb_callout_t callout_handle; /* for spurious button ups */
int sc_enabled;
int sc_disconnected; /* device is gone */
@@ -470,12 +470,11 @@ ums_intr(xfer, addr, status)
*/
if (sc->flags & UMS_SPUR_BUT_UP &&
dx == 0 && dy == 0 && dz == 0 && buttons == 0) {
- usb_timeout(ums_add_to_queue_timeout, (void *) sc,
- MS_TO_TICKS(50 /*msecs*/), sc->timeout_handle);
+ usb_callout(sc->callout_handle, MS_TO_TICKS(50 /*msecs*/),
+ ums_add_to_queue_timeout, (void *) sc);
} else {
- usb_untimeout(ums_add_to_queue_timeout, (void *) sc,
- sc->timeout_handle);
-
+ usb_uncallout(sc->callout_handle,
+ ums_add_to_queue_timeout, (void *) sc);
ums_add_to_queue(sc, dx, dy, dz, buttons);
}
}
@@ -556,7 +555,7 @@ ums_enable(v)
sc->status.button = sc->status.obutton = 0;
sc->status.dx = sc->status.dy = sc->status.dz = 0;
- callout_handle_init(&sc->timeout_handle);
+ callout_handle_init((struct callout_handle *)&sc->callout_handle);
/* Set up interrupt pipe. */
err = usbd_open_pipe_intr(sc->sc_iface, sc->sc_ep_addr,
@@ -578,7 +577,7 @@ ums_disable(priv)
{
struct ums_softc *sc = priv;
- usb_untimeout(ums_add_to_queue_timeout, sc, sc->timeout_handle);
+ usb_uncallout(sc->callout_handle, ums_add_to_queue_timeout, sc);
/* Disable interrupts. */
usbd_abort_pipe(sc->sc_intrpipe);
OpenPOWER on IntegriCloud