Module Name:    src
Committed By:   tsutsui
Date:           Sat Jun  4 01:27:57 UTC 2011

Modified Files:
        src/sys/arch/sparc/dev: audioamd.c
        src/sys/dev/ic: am7930var.h
        src/sys/dev/tc: bba.c

Log Message:
Split device_t/softc of am7930.  No crash on TME and GXemul.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/sparc/dev/audioamd.c
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/ic/am7930var.h
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/tc/bba.c

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/sparc/dev/audioamd.c
diff -u src/sys/arch/sparc/dev/audioamd.c:1.25 src/sys/arch/sparc/dev/audioamd.c:1.26
--- src/sys/arch/sparc/dev/audioamd.c:1.25	Sat Dec 19 10:34:18 2009
+++ src/sys/arch/sparc/dev/audioamd.c	Sat Jun  4 01:27:57 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: audioamd.c,v 1.25 2009/12/19 10:34:18 tsutsui Exp $	*/
+/*	$NetBSD: audioamd.c,v 1.26 2011/06/04 01:27:57 tsutsui Exp $	*/
 /*	NetBSD: am7930_sparc.c,v 1.44 1999/03/14 22:29:00 jonathan Exp 	*/
 
 /*
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: audioamd.c,v 1.25 2009/12/19 10:34:18 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: audioamd.c,v 1.26 2011/06/04 01:27:57 tsutsui Exp $");
 
 #include "audio.h"
 #if NAUDIO > 0
@@ -108,13 +108,13 @@
 void	audioamd_sbus_attach(device_t, device_t, void *);
 void	audioamd_attach(struct audioamd_softc *, int);
 
-CFATTACH_DECL(audioamd_mainbus, sizeof(struct audioamd_softc),
+CFATTACH_DECL_NEW(audioamd_mainbus, sizeof(struct audioamd_softc),
     audioamd_mainbus_match, audioamd_mainbus_attach, NULL, NULL);
 
-CFATTACH_DECL(audioamd_obio, sizeof(struct audioamd_softc),
+CFATTACH_DECL_NEW(audioamd_obio, sizeof(struct audioamd_softc),
     audioamd_obio_match, audioamd_obio_attach, NULL, NULL);
 
-CFATTACH_DECL(audioamd_sbus, sizeof(struct audioamd_softc),
+CFATTACH_DECL_NEW(audioamd_sbus, sizeof(struct audioamd_softc),
     audioamd_sbus_match, audioamd_sbus_attach, NULL, NULL);
 
 /*
@@ -227,6 +227,7 @@
 
 	ma = aux;
 	sc = device_private(self);
+	sc->sc_am7930.sc_dev = self;
 	sc->sc_bt = ma->ma_bustag;
 
 	if (bus_space_map(
@@ -253,6 +254,7 @@
 	uoba = aux;
 	sa = &uoba->uoba_sbus;
 	sc = device_private(self);
+	sc->sc_am7930.sc_dev = self;
 	sc->sc_bt = sa->sa_bustag;
 
 	if (sbus_bus_map(sa->sa_bustag,
@@ -275,6 +277,7 @@
 
 	sa = aux;
 	sc = device_private(self);
+	sc->sc_am7930.sc_dev = self;
 	sc->sc_bt = sa->sa_bustag;
 
 	if (sbus_bus_map(sa->sa_bustag,
@@ -296,7 +299,7 @@
 	/*
 	 * Set up glue for MI code early; we use some of it here.
 	 */
-	self = &sc->sc_am7930.sc_dev;
+	self = sc->sc_am7930.sc_dev;
 	sc->sc_am7930.sc_glue = &audioamd_glue;
 	mutex_init(&sc->sc_lock, MUTEX_DEFAULT, IPL_HIGH);
 

Index: src/sys/dev/ic/am7930var.h
diff -u src/sys/dev/ic/am7930var.h:1.11 src/sys/dev/ic/am7930var.h:1.12
--- src/sys/dev/ic/am7930var.h:1.11	Sun Dec 11 12:21:25 2005
+++ src/sys/dev/ic/am7930var.h	Sat Jun  4 01:27:57 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: am7930var.h,v 1.11 2005/12/11 12:21:25 christos Exp $	*/
+/*	$NetBSD: am7930var.h,v 1.12 2011/06/04 01:27:57 tsutsui Exp $	*/
 
 struct am7930_softc;
 
@@ -15,7 +15,7 @@
 };
 
 struct am7930_softc {
-	struct	device sc_dev;		/* base device */
+	device_t sc_dev;	/* base device */
 
 	uint8_t	sc_rlevel;	/* record level */
 	uint8_t	sc_plevel;	/* play level */

Index: src/sys/dev/tc/bba.c
diff -u src/sys/dev/tc/bba.c:1.37 src/sys/dev/tc/bba.c:1.38
--- src/sys/dev/tc/bba.c:1.37	Sat Aug 22 17:38:06 2009
+++ src/sys/dev/tc/bba.c	Sat Jun  4 01:27:57 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: bba.c,v 1.37 2009/08/22 17:38:06 tsutsui Exp $ */
+/* $NetBSD: bba.c,v 1.38 2011/06/04 01:27:57 tsutsui Exp $ */
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
 /* maxine/alpha baseboard audio (bba) */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bba.c,v 1.37 2009/08/22 17:38:06 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bba.c,v 1.38 2011/06/04 01:27:57 tsutsui Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -95,7 +95,7 @@
 static int	bba_match(device_t, cfdata_t, void *);
 static void	bba_attach(device_t, device_t, void *);
 
-CFATTACH_DECL(bba, sizeof(struct bba_softc),
+CFATTACH_DECL_NEW(bba, sizeof(struct bba_softc),
     bba_match, bba_attach, NULL, NULL);
 
 /*
@@ -214,6 +214,7 @@
 	ia = aux;
 	sc = device_private(self);
 	asc = &sc->sc_am7930;
+	asc->sc_dev = self;
 	sc->sc_bst = iosc->sc_bst;
 	sc->sc_bsh = iosc->sc_bsh;
 	sc->sc_dmat = iosc->sc_dmat;
@@ -221,7 +222,7 @@
 	/* get the bus space handle for codec */
 	if (bus_space_subregion(sc->sc_bst, sc->sc_bsh,
 	    ia->iada_offset, 0, &sc->sc_codec_bsh)) {
-		aprint_error_dev(&asc->sc_dev, "unable to map device\n");
+		aprint_error_dev(self, "unable to map device\n");
 		return;
 	}
 
@@ -242,7 +243,7 @@
 	ioasic_intr_establish(parent, ia->iada_cookie, TC_IPL_NONE,
 	    bba_intr, sc);
 
-	audio_attach_mi(&sa_hw_if, asc, &asc->sc_dev);
+	audio_attach_mi(&sa_hw_if, asc, self);
 }
 
 
@@ -307,14 +308,14 @@
 
 	if (bus_dmamem_alloc(sc->sc_dmat, size, BBA_DMABUF_ALIGN,
 	    BBA_DMABUF_BOUNDARY, &seg, 1, &rseg, w)) {
-		aprint_error_dev(&asc->sc_dev, "can't allocate DMA buffer\n");
+		aprint_error_dev(asc->sc_dev, "can't allocate DMA buffer\n");
 		goto bad;
 	}
 	state |= 1;
 
 	if (bus_dmamem_map(sc->sc_dmat, &seg, rseg, size,
 	    &kva, w | BUS_DMA_COHERENT)) {
-		aprint_error_dev(&asc->sc_dev, "can't map DMA buffer\n");
+		aprint_error_dev(asc->sc_dev, "can't map DMA buffer\n");
 		goto bad;
 	}
 	state |= 2;
@@ -518,7 +519,7 @@
 
 	DPRINTF(("bba_trigger_input: sc=%p start=%p end=%p blksize=%d intr=%p(%p)\n",
 	    addr, start, end, blksize, intr, arg));
-	sc = (struct bba_softc *)addr;
+	sc = addr;
 	d = &sc->sc_rx_dma_state;
 	state = 0;
 

Reply via email to