Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 2009 13:18:40 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r191058 - head/sys/dev/powermac_nvram
Message-ID:  <200904141318.n3EDIe1S006827@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ed
Date: Tue Apr 14 13:18:39 2009
New Revision: 191058
URL: http://svn.freebsd.org/changeset/base/191058

Log:
  Use si_drv1 instead of dev2unit() in powermac_nvram.
  
  Reviewed by:	nwhitehorn

Modified:
  head/sys/dev/powermac_nvram/powermac_nvram.c

Modified: head/sys/dev/powermac_nvram/powermac_nvram.c
==============================================================================
--- head/sys/dev/powermac_nvram/powermac_nvram.c	Tue Apr 14 13:11:34 2009	(r191057)
+++ head/sys/dev/powermac_nvram/powermac_nvram.c	Tue Apr 14 13:18:39 2009	(r191058)
@@ -89,10 +89,6 @@ DRIVER_MODULE(powermac_nvram, nexus, pow
  * Cdev methods.
  */
 
-#define	NVRAM_UNIT(dev)		dev2unit(dev)
-#define	NVRAM_SOFTC(unit)	((struct powermac_nvram_softc *) \
-     devclass_get_softc(powermac_nvram_devclass, unit))
-
 static	d_open_t	powermac_nvram_open;
 static	d_close_t	powermac_nvram_close;
 static	d_read_t	powermac_nvram_read;
@@ -169,6 +165,7 @@ powermac_nvram_attach(device_t dev)
 
 	sc->sc_cdev = make_dev(&powermac_nvram_cdevsw, 0, 0, 0, 0600,
 	    "powermac_nvram");
+	sc->sc_cdev->si_drv1 = sc;
 
 	return 0;
 }
@@ -192,9 +189,8 @@ powermac_nvram_detach(device_t dev)
 static int
 powermac_nvram_open(struct cdev *dev, int flags, int fmt, struct thread *td)
 {
-	struct powermac_nvram_softc *sc;
+	struct powermac_nvram_softc *sc = dev->si_drv1;
 
-	sc = NVRAM_SOFTC(NVRAM_UNIT(dev));
 	if (sc->sc_isopen)
 		return EBUSY;
 	sc->sc_isopen = 1;
@@ -205,12 +201,10 @@ powermac_nvram_open(struct cdev *dev, in
 static int
 powermac_nvram_close(struct cdev *dev, int fflag, int devtype, struct thread *td)
 {
-	struct powermac_nvram_softc *sc;
+	struct powermac_nvram_softc *sc = dev->si_drv1;
 	struct core99_header *header;
 	vm_offset_t bank;
 
-	sc = NVRAM_SOFTC(NVRAM_UNIT(dev));
-
 	if (sc->sc_wpos != sizeof(sc->sc_data)) {
 		/* Short write, restore in-memory copy */
 		bcopy((void *)sc->sc_bank, (void *)sc->sc_data, NVRAM_SIZE);
@@ -246,9 +240,7 @@ static int
 powermac_nvram_read(struct cdev *dev, struct uio *uio, int ioflag)
 {
 	int rv, amnt, data_available;
-	struct powermac_nvram_softc *sc;
-
-	sc = NVRAM_SOFTC(NVRAM_UNIT(dev));
+	struct powermac_nvram_softc *sc = dev->si_drv1;
 
 	rv = 0;
 	while (uio->uio_resid > 0) {
@@ -271,9 +263,7 @@ static int
 powermac_nvram_write(struct cdev *dev, struct uio *uio, int ioflag)
 {
 	int rv, amnt, data_available;
-	struct powermac_nvram_softc *sc;
-
-	sc = NVRAM_SOFTC(NVRAM_UNIT(dev));
+	struct powermac_nvram_softc *sc = dev->si_drv1;
 
 	if (sc->sc_wpos >= sizeof(sc->sc_data))
 		return EINVAL;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904141318.n3EDIe1S006827>