From owner-svn-src-all@FreeBSD.ORG Fri Sep 7 19:42:38 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA72610656D4; Fri, 7 Sep 2012 19:42:37 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 873498FC16; Fri, 7 Sep 2012 19:42:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q87JgblG052892; Fri, 7 Sep 2012 19:42:37 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q87Jgb08052890; Fri, 7 Sep 2012 19:42:37 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201209071942.q87Jgb08052890@svn.freebsd.org> From: John Baldwin Date: Fri, 7 Sep 2012 19:42:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240211 - head/sys/dev/atkbdc X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2012 19:42:38 -0000 Author: jhb Date: Fri Sep 7 19:42:36 2012 New Revision: 240211 URL: http://svn.freebsd.org/changeset/base/240211 Log: Use callout(9) instead of timeout(9) to manage timers. Modified: head/sys/dev/atkbdc/psm.c Modified: head/sys/dev/atkbdc/psm.c ============================================================================== --- head/sys/dev/atkbdc/psm.c Fri Sep 7 19:00:27 2012 (r240210) +++ head/sys/dev/atkbdc/psm.c Fri Sep 7 19:42:36 2012 (r240211) @@ -291,8 +291,8 @@ struct psm_softc { /* Driver status inf struct timeval lastinputerr; /* time last sync error happened */ struct timeval taptimeout; /* tap timeout for touchpads */ int watchdog; /* watchdog timer flag */ - struct callout_handle callout; /* watchdog timer call out */ - struct callout_handle softcallout; /* buffer timer call out */ + struct callout callout; /* watchdog timer call out */ + struct callout softcallout; /* buffer timer call out */ struct cdev *dev; struct cdev *bdev; int lasterr; @@ -960,7 +960,7 @@ doopen(struct psm_softc *sc, int command /* start the watchdog timer */ sc->watchdog = FALSE; - sc->callout = timeout(psmtimeout, (void *)(uintptr_t)sc, hz*2); + callout_reset(&sc->callout, hz * 2, psmtimeout, sc); return (0); } @@ -979,8 +979,7 @@ reinitialize(struct psm_softc *sc, int d /* block our watchdog timer */ sc->watchdog = FALSE; - untimeout(psmtimeout, (void *)(uintptr_t)sc, sc->callout); - callout_handle_init(&sc->callout); + callout_stop(&sc->callout); /* save the current controller command byte */ empty_both_buffers(sc->kbdc, 10); @@ -1418,7 +1417,8 @@ psmattach(device_t dev) /* Setup initial state */ sc->state = PSM_VALID; - callout_handle_init(&sc->callout); + callout_init(&sc->callout, 0); + callout_init(&sc->softcallout, 0); /* Setup our interrupt handler */ rid = KBDC_RID_AUX; @@ -1487,6 +1487,9 @@ psmdetach(device_t dev) destroy_dev(sc->dev); destroy_dev(sc->bdev); + callout_drain(&sc->callout); + callout_drain(&sc->softcallout); + return (0); } @@ -1615,8 +1618,7 @@ psmclose(struct cdev *dev, int flag, int splx(s); /* stop the watchdog timer */ - untimeout(psmtimeout, (void *)(uintptr_t)sc, sc->callout); - callout_handle_init(&sc->callout); + callout_stop(&sc->callout); /* remove anything left in the output buffer */ empty_aux_buffer(sc->kbdc, 10); @@ -1839,7 +1841,7 @@ dropqueue(struct psm_softc *sc) sc->queue.tail = 0; if ((sc->state & PSM_SOFTARMED) != 0) { sc->state &= ~PSM_SOFTARMED; - untimeout(psmsoftintr, (void *)(uintptr_t)sc, sc->softcallout); + callout_stop(&sc->softcallout); } sc->pqueue_start = sc->pqueue_end; } @@ -2255,7 +2257,7 @@ psmtimeout(void *arg) } sc->watchdog = TRUE; splx(s); - sc->callout = timeout(psmtimeout, (void *)(uintptr_t)sc, hz); + callout_reset(&sc->callout, hz, psmtimeout, sc); } /* Add all sysctls under the debug.psm and hw.psm nodes */ @@ -2437,13 +2439,13 @@ next: (sc->pqueue_end == sc->pqueue_start)) { if ((sc->state & PSM_SOFTARMED) != 0) { sc->state &= ~PSM_SOFTARMED; - untimeout(psmsoftintr, arg, sc->softcallout); + callout_stop(&sc->softcallout); } psmsoftintr(arg); } else if ((sc->state & PSM_SOFTARMED) == 0) { sc->state |= PSM_SOFTARMED; - sc->softcallout = timeout(psmsoftintr, arg, - psmhz < 1 ? 1 : (hz/psmhz)); + callout_reset(&sc->softcallout, + psmhz < 1 ? 1 : (hz/psmhz), psmsoftintr, arg); } } }