Module Name:    src
Committed By:   tsutsui
Date:           Sun May 17 01:28:27 UTC 2009

Modified Files:
        src/sys/arch/sparc64/dev: sbus.c sbusvar.h

Log Message:
Split device_t/softc.  Compile test only, but mostly similar changes
with sparc/dev/sbus.c rev 1.69.

XXX: it looks some functions should be merged between sparc and sparc64.


To generate a diff of this commit:
cvs rdiff -u -r1.83 -r1.84 src/sys/arch/sparc64/dev/sbus.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/sparc64/dev/sbusvar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/sparc64/dev/sbus.c
diff -u src/sys/arch/sparc64/dev/sbus.c:1.83 src/sys/arch/sparc64/dev/sbus.c:1.84
--- src/sys/arch/sparc64/dev/sbus.c:1.83	Sat Oct 18 03:31:10 2008
+++ src/sys/arch/sparc64/dev/sbus.c	Sun May 17 01:28:27 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbus.c,v 1.83 2008/10/18 03:31:10 nakayama Exp $ */
+/*	$NetBSD: sbus.c,v 1.84 2009/05/17 01:28:27 tsutsui Exp $ */
 
 /*
  * Copyright (c) 1999-2002 Eduardo Horvath
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.83 2008/10/18 03:31:10 nakayama Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sbus.c,v 1.84 2009/05/17 01:28:27 tsutsui Exp $");
 
 #include "opt_ddb.h"
 
@@ -91,11 +91,11 @@
 
 
 /* autoconfiguration driver */
-int	sbus_match(struct device *, struct cfdata *, void *);
-void	sbus_attach(struct device *, struct device *, void *);
+int	sbus_match(device_t, cfdata_t, void *);
+void	sbus_attach(device_t, device_t, void *);
 
 
-CFATTACH_DECL(sbus, sizeof(struct sbus_softc),
+CFATTACH_DECL_NEW(sbus, sizeof(struct sbus_softc),
     sbus_match, sbus_attach, NULL, NULL);
 
 extern struct cfdriver sbus_cd;
@@ -152,7 +152,7 @@
 }
 
 int
-sbus_match(struct device *parent, struct cfdata *cf, void *aux)
+sbus_match(device_t parent, cfdata_t cf, void *aux)
 {
 	struct mainbus_attach_args *ma = aux;
 
@@ -163,7 +163,7 @@
  * Attach an Sbus.
  */
 void
-sbus_attach(struct device *parent, struct device *self, void *aux)
+sbus_attach(device_t parent, device_t self, void *aux)
 {
 	struct sbus_softc *sc = device_private(self);
 	struct mainbus_attach_args *ma = aux;
@@ -175,6 +175,7 @@
 	bus_space_tag_t sbt;
 	struct sbus_attach_args sa;
 
+	sc->sc_dev = self;
 	sc->sc_bustag = ma->ma_bustag;
 	sc->sc_dmatag = ma->ma_dmatag;
 	sc->sc_ign = ma->ma_interrupts[0] & INTMAP_IGN;		
@@ -225,7 +226,7 @@
 	error = prom_getprop(node, "ranges", sizeof(struct openprom_range),
 			 &sbt->nranges, &sbt->ranges);
 	if (error)
-		panic("%s: error getting ranges property", device_xname(&sc->sc_dev));
+		panic("%s: error getting ranges property", device_xname(self));
 
 	/* initialize the IOMMU */
 
@@ -248,7 +249,7 @@
 	name = (char *)malloc(32, M_DEVBUF, M_NOWAIT);
 	if (name == 0)
 		panic("couldn't malloc iommu name");
-	snprintf(name, 32, "%s dvma", device_xname(&sc->sc_dev));
+	snprintf(name, 32, "%s dvma", device_xname(self));
 
 	iommu_init(name, &sc->sc_is, 0, -1);
 
@@ -294,7 +295,7 @@
 			printf("sbus_attach: %s: incomplete\n", name1);
 			continue;
 		}
-		(void) config_found(&sc->sc_dev, (void *)&sa, sbus_print);
+		(void) config_found(self, &sa, sbus_print);
 		sbus_destroy_attach_args(&sa);
 	}
 }
@@ -411,10 +412,10 @@
  * its sbusdev portion.
  */
 void
-sbus_establish(register struct sbusdev *sd, register struct device *dev)
+sbus_establish(struct sbusdev *sd, device_t dev)
 {
 	register struct sbus_softc *sc;
-	register struct device *curdev;
+	register device_t curdev;
 
 	/*
 	 * We have to look for the sbus by name, since it is not necessarily
@@ -423,16 +424,16 @@
 	 * sbus, since we might (in the future) support multiple sbus's.
 	 */
 	for (curdev = device_parent(dev); ; curdev = device_parent(curdev)) {
-		if (!curdev || !device_xname(curdev))
+		if ((curdev == NULL) || (device_xname(curdev) == NULL))
 			panic("sbus_establish: can't find sbus parent for %s",
-			      device_xname(sd->sd_dev)
-					? device_xname(sd->sd_dev)
+			      device_xname(dev)
+					? device_xname(dev)
 					: "<unknown>" );
 
 		if (strncmp(device_xname(curdev), "sbus", 4) == 0)
 			break;
 	}
-	sc = (struct sbus_softc *) curdev;
+	sc = device_private(curdev);
 
 	sd->sd_dev = dev;
 	sd->sd_bchain = sc->sc_sbdev;
@@ -447,9 +448,9 @@
 {
 	register struct sbusdev *sd;
 	struct sbus_softc *sc = device_lookup_private(&sbus_cd, sbus);
-	struct device *dev;
+	device_t dev;
 
-	printf("reset %s:", device_xname(&sc->sc_dev));
+	printf("reset %s:", device_xname(sc->sc_dev));
 	for (sd = sc->sc_sbdev; sd != NULL; sd = sd->sd_bchain) {
 		if (sd->sd_reset) {
 			dev = sd->sd_dev;
@@ -674,7 +675,7 @@
 	bus_size_t maxsegsz, bus_size_t boundary, int flags,
 	bus_dmamap_t *dmamp)
 {
-	struct sbus_softc *sc = (struct sbus_softc *)t->_cookie;
+	struct sbus_softc *sc = t->_cookie;
 	int error;
 
 	error = bus_dmamap_create(t->_parent, size, nsegments, maxsegsz,

Index: src/sys/arch/sparc64/dev/sbusvar.h
diff -u src/sys/arch/sparc64/dev/sbusvar.h:1.15 src/sys/arch/sparc64/dev/sbusvar.h:1.16
--- src/sys/arch/sparc64/dev/sbusvar.h:1.15	Mon Apr 28 20:23:36 2008
+++ src/sys/arch/sparc64/dev/sbusvar.h	Sun May 17 01:28:27 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sbusvar.h,v 1.15 2008/04/28 20:23:36 martin Exp $ */
+/*	$NetBSD: sbusvar.h,v 1.16 2009/05/17 01:28:27 tsutsui Exp $ */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -95,7 +95,7 @@
 
 /* variables per Sbus */
 struct sbus_softc {
-	struct	device		sc_dev;		/* base device */
+	device_t		sc_dev;		/* base device */
 	bus_space_tag_t		sc_bustag;
 	bus_space_handle_t	sc_bh;
 	bus_dma_tag_t		sc_dmatag;

Reply via email to