Date: Wed, 22 Oct 2008 19:08:05 +0200 From: Ed Schouten <ed@80386.nl> To: John Baldwin <jhb@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r184164 - head/sys/dev/ppbus Message-ID: <20081022170805.GJ16837@hoeg.nl> In-Reply-To: <200810221500.m9MF0MvH031614@svn.freebsd.org> References: <200810221500.m9MF0MvH031614@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi John,
It seems I forgot to CC my message to you, so I'll just stick it to to
the commit message as well. Sorry.
* John Baldwin <jhb@FreeBSD.org> wrote:
> Modified: head/sys/dev/ppbus/lpt.c
> ==============================================================================
> --- head/sys/dev/ppbus/lpt.c Wed Oct 22 14:58:23 2008 (r184163)
> +++ head/sys/dev/ppbus/lpt.c Wed Oct 22 15:00:22 2008 (r184164)
> @@ -399,7 +399,7 @@ lpt_attach(device_t dev)
> sc->cdev_bypass = make_dev(&lpt_cdevsw, unit,
> UID_ROOT, GID_WHEEL, 0600, LPT_NAME "%d.ctl", unit);
> sc->cdev_bypass->si_drv1 = sc;
> - sc->cdev_bypass->si_drv2 = LP_BYPASS;
> + sc->cdev_bypass->si_drv2 = (void *)LP_BYPASS;
> return (0);
> }
>
> @@ -476,7 +476,7 @@ lptopen(struct cdev *dev, int flags, int
> } else
> sc->sc_state |= LPTINIT;
>
> - sc->sc_flags = dev->si_drv2;
> + sc->sc_flags = (uintptr_t)dev->si_drv2;
>
> /* Check for open with BYPASS flag set. */
> if (sc->sc_flags & LP_BYPASS) {
Maybe it's better to just use the device unit number to store these
flags? This value is stored inside si_drv0, which is an integer.
Hopefully we'll get rid of make_dev()'s unit number argument somewhere
in the far future, which means drivers can use si_drv0 directly.
I sent the following patch to current@ this morning:
--- sys/dev/ppbus/lpt.c
+++ sys/dev/ppbus/lpt.c
@@ -392,14 +392,12 @@
lpt_release_ppbus(dev);
sc->dev = dev;
- sc->cdev = make_dev(&lpt_cdevsw, unit,
+ sc->cdev = make_dev(&lpt_cdevsw, 0,
UID_ROOT, GID_WHEEL, 0600, LPT_NAME "%d", unit);
sc->cdev->si_drv1 = sc;
- sc->cdev->si_drv2 = 0;
- sc->cdev_bypass = make_dev(&lpt_cdevsw, unit,
+ sc->cdev_bypass = make_dev(&lpt_cdevsw, LP_BYPASS,
UID_ROOT, GID_WHEEL, 0600, LPT_NAME "%d.ctl", unit);
sc->cdev_bypass->si_drv1 = sc;
- sc->cdev_bypass->si_drv2 = LP_BYPASS;
return (0);
}
@@ -476,7 +474,7 @@
} else
sc->sc_state |= LPTINIT;
- sc->sc_flags = dev->si_drv2;
+ sc->sc_flags = dev2unit(dev);
/* Check for open with BYPASS flag set. */
if (sc->sc_flags & LP_BYPASS) {
--
Ed Schouten <ed@80386.nl>
WWW: http://80386.nl/
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)
iEYEARECAAYFAkj/XfUACgkQ52SDGA2eCwXNfQCfUXM3QS0oleInghXtV72F3EGg
GHIAn0Eet57diTTxDtNOfQHLKSdmXH0J
=qn3I
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081022170805.GJ16837>
