From owner-svn-src-all@FreeBSD.ORG Mon Apr 20 15:15:25 2009 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 2A2E8106564A; Mon, 20 Apr 2009 15:15:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0E0E08FC08; Mon, 20 Apr 2009 15:15:25 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3KFFOvo049880; Mon, 20 Apr 2009 15:15:24 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3KFFOdn049879; Mon, 20 Apr 2009 15:15:24 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200904201515.n3KFFOdn049879@svn.freebsd.org> From: Ed Schouten Date: Mon, 20 Apr 2009 15:15:24 +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: r191320 - head/sys/dev/mse 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: Mon, 20 Apr 2009 15:15:25 -0000 Author: ed Date: Mon Apr 20 15:15:24 2009 New Revision: 191320 URL: http://svn.freebsd.org/changeset/base/191320 Log: Make mse(4) use si_drv1, instead of using unit numbers. Discussed with: imp Modified: head/sys/dev/mse/mse.c Modified: head/sys/dev/mse/mse.c ============================================================================== --- head/sys/dev/mse/mse.c Mon Apr 20 15:10:03 2009 (r191319) +++ head/sys/dev/mse/mse.c Mon Apr 20 15:15:24 2009 (r191320) @@ -111,8 +111,7 @@ static struct cdevsw mse_cdevsw = { static void mseintr(void *); static timeout_t msetimeout; -#define MSE_UNIT(dev) (dev2unit(dev) >> 1) -#define MSE_NBLOCKIO(dev) (dev2unit(dev) & 0x1) +#define MSE_NBLOCKIO(dev) dev2unit(dev) #define MSEPRI (PZERO + 3) @@ -143,10 +142,10 @@ mse_common_attach(device_t dev) sc->mode.accelfactor = (flags & MSE_CONFIG_ACCEL) >> 4; callout_handle_init(&sc->sc_callout); - sc->sc_dev = make_dev(&mse_cdevsw, unit << 1, 0, 0, 0600, - "mse%d", unit); - sc->sc_ndev = make_dev(&mse_cdevsw, (unit<<1)+1, 0, 0, 0600, - "nmse%d", unit); + sc->sc_dev = make_dev(&mse_cdevsw, 0, 0, 0, 0600, "mse%d", unit); + sc->sc_dev->si_drv1 = sc; + sc->sc_ndev = make_dev(&mse_cdevsw, 1, 0, 0, 0600, "nmse%d", unit); + sc->sc_ndev->si_drv1 = sc; return 0; } @@ -156,12 +155,9 @@ mse_common_attach(device_t dev) static int mseopen(struct cdev *dev, int flags, int fmt, struct thread *td) { - mse_softc_t *sc; + mse_softc_t *sc = dev->si_drv1; int s; - sc = devclass_get_softc(mse_devclass, MSE_UNIT(dev)); - if (sc == NULL) - return (ENXIO); if (sc->sc_mousetype == MSE_NONE) return (ENXIO); if (sc->sc_flags & MSESC_OPEN) @@ -192,7 +188,7 @@ mseopen(struct cdev *dev, int flags, int static int mseclose(struct cdev *dev, int flags, int fmt, struct thread *td) { - mse_softc_t *sc = devclass_get_softc(mse_devclass, MSE_UNIT(dev)); + mse_softc_t *sc = dev->si_drv1; int s; untimeout(msetimeout, dev, sc->sc_callout); @@ -212,7 +208,7 @@ mseclose(struct cdev *dev, int flags, in static int mseread(struct cdev *dev, struct uio *uio, int ioflag) { - mse_softc_t *sc = devclass_get_softc(mse_devclass, MSE_UNIT(dev)); + mse_softc_t *sc = dev->si_drv1; int xfer, s, error; /* @@ -276,7 +272,7 @@ mseread(struct cdev *dev, struct uio *ui static int mseioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td) { - mse_softc_t *sc = devclass_get_softc(mse_devclass, MSE_UNIT(dev)); + mse_softc_t *sc = dev->si_drv1; mousestatus_t status; int err = 0; int s; @@ -388,7 +384,7 @@ mseioctl(struct cdev *dev, u_long cmd, c static int msepoll(struct cdev *dev, int events, struct thread *td) { - mse_softc_t *sc = devclass_get_softc(mse_devclass, MSE_UNIT(dev)); + mse_softc_t *sc = dev->si_drv1; int s; int revents = 0; @@ -420,10 +416,10 @@ msetimeout(void *arg) mse_softc_t *sc; dev = (struct cdev *)arg; - sc = devclass_get_softc(mse_devclass, MSE_UNIT(dev)); + sc = dev->si_drv1; if (sc->sc_watchdog) { if (bootverbose) - printf("mse%d: lost interrupt?\n", MSE_UNIT(dev)); + printf("%s: lost interrupt?\n", devtoname(dev)); mseintr(sc); } sc->sc_watchdog = TRUE;