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;