Module Name: src Committed By: tsutsui Date: Thu Jun 2 14:12:25 UTC 2011
Modified Files: src/sys/arch/amiga/dev: toccata.c src/sys/arch/i386/pnpbios: wss_pnpbios.c ym_pnpbios.c src/sys/arch/prep/isa: paud_isa.c src/sys/dev/acpi: wss_acpi.c ym_acpi.c src/sys/dev/isa: wss_isa.c ym.c src/sys/dev/isapnp: wss_isapnp.c ym_isapnp.c Log Message: Split device_t/softc of all ad1848 variants properly. Compile test only. Please check all attribute users in all files.* on device_t/softc split. XXX: not sure if gus(4) needs device_t in ad1848_isa_softc To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/amiga/dev/toccata.c cvs rdiff -u -r1.18 -r1.19 src/sys/arch/i386/pnpbios/wss_pnpbios.c cvs rdiff -u -r1.15 -r1.16 src/sys/arch/i386/pnpbios/ym_pnpbios.c cvs rdiff -u -r1.12 -r1.13 src/sys/arch/prep/isa/paud_isa.c cvs rdiff -u -r1.28 -r1.29 src/sys/dev/acpi/wss_acpi.c cvs rdiff -u -r1.13 -r1.14 src/sys/dev/acpi/ym_acpi.c cvs rdiff -u -r1.28 -r1.29 src/sys/dev/isa/wss_isa.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/isa/ym.c cvs rdiff -u -r1.25 -r1.26 src/sys/dev/isapnp/wss_isapnp.c cvs rdiff -u -r1.24 -r1.25 src/sys/dev/isapnp/ym_isapnp.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/amiga/dev/toccata.c diff -u src/sys/arch/amiga/dev/toccata.c:1.12 src/sys/arch/amiga/dev/toccata.c:1.13 --- src/sys/arch/amiga/dev/toccata.c:1.12 Mon Apr 28 20:23:12 2008 +++ src/sys/arch/amiga/dev/toccata.c Thu Jun 2 14:12:24 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: toccata.c,v 1.12 2008/04/28 20:23:12 martin Exp $ */ +/* $NetBSD: toccata.c,v 1.13 2011/06/02 14:12:24 tsutsui Exp $ */ /*- * Copyright (c) 1998, 1999, 2001, 2002 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: toccata.c,v 1.12 2008/04/28 20:23:12 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: toccata.c,v 1.13 2011/06/02 14:12:24 tsutsui Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -222,14 +222,14 @@ void *sc_playarg; }; -int toccata_match(struct device *, struct cfdata *, void *); -void toccata_attach(struct device *, struct device *, void *); +int toccata_match(device_t, cfdata_t, void *); +void toccata_attach(device_t, device_t, void *); -CFATTACH_DECL(toccata, sizeof(struct toccata_softc), +CFATTACH_DECL_NEW(toccata, sizeof(struct toccata_softc), toccata_match, toccata_attach, NULL, NULL); int -toccata_match(struct device *parent, struct cfdata *cfp, void *aux) +toccata_match(device_t parent, cfdata_t cfp, void *aux) { struct zbus_args *zap; @@ -245,15 +245,16 @@ } void -toccata_attach(struct device *parent, struct device *self, void *aux) +toccata_attach(device_t parent, device_t self, void *aux) { struct toccata_softc *sc; struct ad1848_softc *asc; struct zbus_args *zap; volatile uint8_t *boardp; - sc = (struct toccata_softc *)self; + sc = device_private(self); asc = &sc->sc_ad; + asc->sc_dev = self; zap = aux; boardp = (volatile uint8_t *)zap->va; @@ -280,7 +281,7 @@ sc->sc_isr.isr_intr = toccata_intr; add_isr(&sc->sc_isr); - audio_attach_mi(&audiocs_hw_if, sc, &asc->sc_dev); + audio_attach_mi(&audiocs_hw_if, sc, self); } @@ -329,8 +330,8 @@ * FIFO interrupt. */ #ifdef DEBUG - printf("%s: got unexpected interrupt %x\n", sc->sc_ad.sc_dev.dv_xname, - status); + printf("%s: got unexpected interrupt %x\n", + device_xname(sc->sc_ad.sc_dev), status); #endif *sc->sc_boardp = TOCC_ACT; return 1; Index: src/sys/arch/i386/pnpbios/wss_pnpbios.c diff -u src/sys/arch/i386/pnpbios/wss_pnpbios.c:1.18 src/sys/arch/i386/pnpbios/wss_pnpbios.c:1.19 --- src/sys/arch/i386/pnpbios/wss_pnpbios.c:1.18 Mon May 4 12:13:19 2009 +++ src/sys/arch/i386/pnpbios/wss_pnpbios.c Thu Jun 2 14:12:24 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: wss_pnpbios.c,v 1.18 2009/05/04 12:13:19 cegger Exp $ */ +/* $NetBSD: wss_pnpbios.c,v 1.19 2011/06/02 14:12:24 tsutsui Exp $ */ /* * Copyright (c) 1999 * Matthias Drochner. All rights reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wss_pnpbios.c,v 1.18 2009/05/04 12:13:19 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wss_pnpbios.c,v 1.19 2011/06/02 14:12:24 tsutsui Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -55,7 +55,7 @@ int wss_pnpbios_hints_index(const char *); -CFATTACH_DECL(wss_pnpbios, sizeof(struct wss_softc), +CFATTACH_DECL_NEW(wss_pnpbios, sizeof(struct wss_softc), wss_pnpbios_match, wss_pnpbios_attach, NULL, NULL); struct wss_pnpbios_hint { @@ -128,6 +128,7 @@ return; } + sc->sc_ad1848.sc_ad1848.sc_dev = self; sc->wss_ic = aa->ic; if (pnpbios_getirqnum(aa->pbt, aa->resc, 0, &sc->wss_irq, NULL)) { Index: src/sys/arch/i386/pnpbios/ym_pnpbios.c diff -u src/sys/arch/i386/pnpbios/ym_pnpbios.c:1.15 src/sys/arch/i386/pnpbios/ym_pnpbios.c:1.16 --- src/sys/arch/i386/pnpbios/ym_pnpbios.c:1.15 Mon May 4 12:13:19 2009 +++ src/sys/arch/i386/pnpbios/ym_pnpbios.c Thu Jun 2 14:12:24 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: ym_pnpbios.c,v 1.15 2009/05/04 12:13:19 cegger Exp $ */ +/* $NetBSD: ym_pnpbios.c,v 1.16 2011/06/02 14:12:24 tsutsui Exp $ */ /* * Copyright (c) 1999 * Matthias Drochner. All rights reserved. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ym_pnpbios.c,v 1.15 2009/05/04 12:13:19 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ym_pnpbios.c,v 1.16 2011/06/02 14:12:24 tsutsui Exp $"); #include "mpu_ym.h" @@ -64,7 +64,7 @@ int ym_pnpbios_match(device_t, cfdata_t, void *); void ym_pnpbios_attach(device_t, device_t, void *); -CFATTACH_DECL(ym_pnpbios, sizeof(struct ym_softc), +CFATTACH_DECL_NEW(ym_pnpbios, sizeof(struct ym_softc), ym_pnpbios_match, ym_pnpbios_attach, NULL, NULL); int @@ -87,6 +87,8 @@ struct ad1848_softc *ac = &sc->sc_ad1848.sc_ad1848; struct pnpbiosdev_attach_args *aa = aux; + ac->sc_dev = self; + if (pnpbios_io_map(aa->pbt, aa->resc, 0, &sc->sc_iot, &sc->sc_sb_ioh) != 0) { printf(": can't map sb i/o space\n"); Index: src/sys/arch/prep/isa/paud_isa.c diff -u src/sys/arch/prep/isa/paud_isa.c:1.12 src/sys/arch/prep/isa/paud_isa.c:1.13 --- src/sys/arch/prep/isa/paud_isa.c:1.12 Mon Apr 28 20:23:33 2008 +++ src/sys/arch/prep/isa/paud_isa.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: paud_isa.c,v 1.12 2008/04/28 20:23:33 martin Exp $ */ +/* $NetBSD: paud_isa.c,v 1.13 2011/06/02 14:12:25 tsutsui Exp $ */ /*- * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: paud_isa.c,v 1.12 2008/04/28 20:23:33 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: paud_isa.c,v 1.13 2011/06/02 14:12:25 tsutsui Exp $"); #include "audio.h" #if NAUDIO > 0 @@ -72,10 +72,10 @@ /* autoconfiguration driver */ -static void paud_attach_isa(struct device *, struct device *, void *); -static int paud_match_isa(struct device *, struct cfdata *, void *); +static void paud_attach_isa(device_t, device_t, void *); +static int paud_match_isa(device_t, cfdata_t, void *); -CFATTACH_DECL(paud_isa, sizeof(struct ad1848_isa_softc), +CFATTACH_DECL_NEW(paud_isa, sizeof(struct ad1848_isa_softc), paud_match_isa, paud_attach_isa, NULL, NULL); /* @@ -125,7 +125,7 @@ /* autoconfig routines */ static int -paud_match_isa(struct device *parent, struct cfdata *cf, void *aux) +paud_match_isa(device_t parent, cfdata_t cf, void *aux) { struct ad1848_isa_softc probesc, *sc = &probesc; struct isa_attach_args *ia = aux; @@ -147,12 +147,13 @@ * Audio chip found. */ static void -paud_attach_isa(struct device *parent, struct device *self, void *aux) +paud_attach_isa(device_t parent, device_t self, void *aux) { struct ad1848_isa_softc *sc; struct isa_attach_args *ia; - sc = (struct ad1848_isa_softc *)self; + sc = device_private(self); + sc->sc_ad1848.sc_dev = self; ia = aux; sc->sc_ad1848.sc_iot = ia->ia_iot; sc->sc_ic = ia->ia_ic; @@ -167,7 +168,7 @@ IST_EDGE, IPL_AUDIO, ad1848_isa_intr, sc); ad1848_isa_attach(sc); aprint_normal("\n"); - audio_attach_mi(&paud_hw_if, &sc->sc_ad1848, &sc->sc_ad1848.sc_dev); + audio_attach_mi(&paud_hw_if, &sc->sc_ad1848, self); } Index: src/sys/dev/acpi/wss_acpi.c diff -u src/sys/dev/acpi/wss_acpi.c:1.28 src/sys/dev/acpi/wss_acpi.c:1.29 --- src/sys/dev/acpi/wss_acpi.c:1.28 Thu Jun 2 13:02:40 2011 +++ src/sys/dev/acpi/wss_acpi.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: wss_acpi.c,v 1.28 2011/06/02 13:02:40 nonaka Exp $ */ +/* $NetBSD: wss_acpi.c,v 1.29 2011/06/02 14:12:25 tsutsui Exp $ */ /* * Copyright (c) 2002 Jared D. McNeill <jmcne...@invisible.ca> @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wss_acpi.c,v 1.28 2011/06/02 13:02:40 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wss_acpi.c,v 1.29 2011/06/02 14:12:25 tsutsui Exp $"); #include <sys/param.h> #include <sys/audioio.h> @@ -45,7 +45,7 @@ static int wss_acpi_match(device_t, cfdata_t, void *); static void wss_acpi_attach(device_t, device_t, void *); -CFATTACH_DECL(wss_acpi, sizeof(struct wss_softc), wss_acpi_match, +CFATTACH_DECL_NEW(wss_acpi, sizeof(struct wss_softc), wss_acpi_match, wss_acpi_attach, NULL, NULL); /* @@ -107,7 +107,7 @@ static void wss_acpi_attach(device_t parent, device_t self, void *aux) { - struct wss_softc *sc = (struct wss_softc *)self; + struct wss_softc *sc = device_private(self); struct acpi_attach_args *aa = aux; struct acpi_resources res; struct acpi_io *dspio, *oplio; @@ -117,11 +117,12 @@ ACPI_STATUS rv; struct wss_acpi_hint *wah; + sc->sc_ad1848.sc_ad1848.sc_dev = self; wah = &wss_acpi_hints[ wss_acpi_hints_index(aa->aa_node->ad_devinfo->HardwareId.String)]; /* Parse our resources */ - rv = acpi_resource_parse(sc->sc_ad1848.sc_ad1848.sc_dev, + rv = acpi_resource_parse(self, aa->aa_node->ad_handle, "_CRS", &res, &acpi_resource_parse_ops_default); if (ACPI_FAILURE(rv)) @@ -132,17 +133,17 @@ dspio = acpi_res_io(&res, wah->io_region_idx_ad1848); oplio = acpi_res_io(&res, wah->io_region_idx_opl); if (dspio == NULL || oplio == NULL) { - aprint_error_dev(sc->sc_ad1848.sc_ad1848.sc_dev, "unable to find i/o registers resource\n"); + aprint_error_dev(self, "unable to find i/o registers resource\n"); goto out; } if (bus_space_map(sc->sc_iot, dspio->ar_base, dspio->ar_length, 0, &sc->sc_ioh) != 0) { - aprint_error_dev(sc->sc_ad1848.sc_ad1848.sc_dev, "unable to map i/o registers\n"); + aprint_error_dev(self, "unable to map i/o registers\n"); goto out; } if (bus_space_map(sc->sc_iot, oplio->ar_base, oplio->ar_length, 0, &sc->sc_opl_ioh) != 0) { - aprint_error_dev(sc->sc_ad1848.sc_ad1848.sc_dev, "unable to map opl i/o registers\n"); + aprint_error_dev(self, "unable to map opl i/o registers\n"); goto out; } @@ -151,7 +152,7 @@ /* Find our IRQ */ irq = acpi_res_irq(&res, 0); if (irq == NULL) { - aprint_error_dev(sc->sc_ad1848.sc_ad1848.sc_dev, "unable to find irq resource\n"); + aprint_error_dev(self, "unable to find irq resource\n"); /* XXX bus_space_unmap */ goto out; } @@ -161,7 +162,7 @@ playdrq = acpi_res_drq(&res, 0); recdrq = acpi_res_drq(&res, 1); if (playdrq == NULL || recdrq == NULL) { - aprint_error_dev(sc->sc_ad1848.sc_ad1848.sc_dev, " unable to find drq resources\n"); + aprint_error_dev(self, " unable to find drq resources\n"); /* XXX bus_space_unmap */ goto out; } @@ -174,12 +175,12 @@ /* Look for the ad1848 */ if (!ad1848_isa_probe(&sc->sc_ad1848)) { - aprint_error_dev(sc->sc_ad1848.sc_ad1848.sc_dev, "ad1848 probe failed\n"); + aprint_error_dev(self, "ad1848 probe failed\n"); /* XXX cleanup */ goto out; } - aprint_normal_dev(sc->sc_ad1848.sc_ad1848.sc_dev, ""); + aprint_normal_dev(self, ""); /* Attach our wss device */ wssattach(sc); Index: src/sys/dev/acpi/ym_acpi.c diff -u src/sys/dev/acpi/ym_acpi.c:1.13 src/sys/dev/acpi/ym_acpi.c:1.14 --- src/sys/dev/acpi/ym_acpi.c:1.13 Thu Jun 2 13:02:40 2011 +++ src/sys/dev/acpi/ym_acpi.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: ym_acpi.c,v 1.13 2011/06/02 13:02:40 nonaka Exp $ */ +/* $NetBSD: ym_acpi.c,v 1.14 2011/06/02 14:12:25 tsutsui Exp $ */ /* * Copyright (c) 2006 Jasper Wallace <jas...@pointless.net> @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ym_acpi.c,v 1.13 2011/06/02 13:02:40 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ym_acpi.c,v 1.14 2011/06/02 14:12:25 tsutsui Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -49,7 +49,7 @@ static int ym_acpi_match(device_t, cfdata_t, void *); static void ym_acpi_attach(device_t, device_t, void *); -CFATTACH_DECL(ym_acpi, sizeof(struct ym_softc), ym_acpi_match, +CFATTACH_DECL_NEW(ym_acpi, sizeof(struct ym_softc), ym_acpi_match, ym_acpi_attach, NULL, NULL); /* @@ -79,7 +79,7 @@ static void ym_acpi_attach(device_t parent, device_t self, void *aux) { - struct ym_softc *sc = (struct ym_softc *)self; + struct ym_softc *sc = device_private(self); struct acpi_attach_args *aa = aux; struct acpi_resources res; struct acpi_io *sb_io, *codec_io, *opl_io, *control_io; @@ -91,8 +91,9 @@ struct ad1848_softc *ac = &sc->sc_ad1848.sc_ad1848; ACPI_STATUS rv; + ac->sc_dev = self; /* Parse our resources */ - rv = acpi_resource_parse(sc->sc_ad1848.sc_ad1848.sc_dev, + rv = acpi_resource_parse(self, aa->aa_node->ad_handle, "_CRS", &res, &acpi_resource_parse_ops_default); if (ACPI_FAILURE(rv)) Index: src/sys/dev/isa/wss_isa.c diff -u src/sys/dev/isa/wss_isa.c:1.28 src/sys/dev/isa/wss_isa.c:1.29 --- src/sys/dev/isa/wss_isa.c:1.28 Thu Jun 2 13:02:40 2011 +++ src/sys/dev/isa/wss_isa.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: wss_isa.c,v 1.28 2011/06/02 13:02:40 nonaka Exp $ */ +/* $NetBSD: wss_isa.c,v 1.29 2011/06/02 14:12:25 tsutsui Exp $ */ /* * Copyright (c) 1994 John Brezak @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wss_isa.c,v 1.28 2011/06/02 13:02:40 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wss_isa.c,v 1.29 2011/06/02 14:12:25 tsutsui Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -81,7 +81,7 @@ int wss_isa_probe(device_t, cfdata_t, void *); void wss_isa_attach(device_t, device_t, void *); -CFATTACH_DECL(wss_isa, sizeof(struct wss_softc), +CFATTACH_DECL_NEW(wss_isa, sizeof(struct wss_softc), wss_isa_probe, wss_isa_attach, NULL, NULL); /* @@ -91,12 +91,11 @@ wss_isa_probe(device_t parent, cfdata_t match, void *aux) { struct isa_attach_args *ia; + struct device probedev; struct wss_softc probesc, *sc; struct ad1848_softc *ac; ia = aux; - sc = &probesc; - ac = (struct ad1848_softc *)&sc->sc_ad1848; if (ia->ia_nio < 1) return 0; if (ia->ia_nirq < 1) @@ -107,7 +106,11 @@ if (ISA_DIRECT_CONFIG(ia)) return 0; - memset(sc, 0, sizeof *sc); + memset(&probedev, 0, sizeof probedev); + memset(&probesc, 0, sizeof probesc); + sc = &probesc; + ac = &sc->sc_ad1848.sc_ad1848; + ac->sc_dev = &probedev; ac->sc_dev->dv_cfdata = match; if (wssfind(parent, sc, 1, aux)) { bus_space_unmap(sc->sc_iot, sc->sc_ioh, WSS_CODEC); @@ -238,11 +241,12 @@ struct ad1848_softc *ac; struct isa_attach_args *ia; - sc = (struct wss_softc *)self; - ac = (struct ad1848_softc *)&sc->sc_ad1848; - ia = (struct isa_attach_args *)aux; + sc = device_private(self); + ac = &sc->sc_ad1848.sc_ad1848; + ac->sc_dev = self; + ia = aux; if (!wssfind(parent, sc, 0, ia)) { - aprint_error_dev(ac->sc_dev, "wssfind failed\n"); + aprint_error_dev(self, "wssfind failed\n"); return; } Index: src/sys/dev/isa/ym.c diff -u src/sys/dev/isa/ym.c:1.40 src/sys/dev/isa/ym.c:1.41 --- src/sys/dev/isa/ym.c:1.40 Thu Jun 2 13:02:40 2011 +++ src/sys/dev/isa/ym.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: ym.c,v 1.40 2011/06/02 13:02:40 nonaka Exp $ */ +/* $NetBSD: ym.c,v 1.41 2011/06/02 14:12:25 tsutsui Exp $ */ /*- * Copyright (c) 1999-2002 The NetBSD Foundation, Inc. @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ym.c,v 1.40 2011/06/02 13:02:40 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ym.c,v 1.41 2011/06/02 14:12:25 tsutsui Exp $"); #include "mpu_ym.h" #include "opt_ym.h" @@ -138,7 +138,7 @@ #else #define DPRINTF(x) #endif -#define DVNAME(softc) (device_xname(&(softc)->sc_ad1848.sc_ad1848.sc_dev)) +#define DVNAME(softc) (device_xname((softc)->sc_ad1848.sc_ad1848.sc_dev)) int ym_getdev(void *, struct audio_device *); int ym_mixer_set_port(void *, mixer_ctrl_t *); Index: src/sys/dev/isapnp/wss_isapnp.c diff -u src/sys/dev/isapnp/wss_isapnp.c:1.25 src/sys/dev/isapnp/wss_isapnp.c:1.26 --- src/sys/dev/isapnp/wss_isapnp.c:1.25 Tue May 12 10:16:35 2009 +++ src/sys/dev/isapnp/wss_isapnp.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: wss_isapnp.c,v 1.25 2009/05/12 10:16:35 cegger Exp $ */ +/* $NetBSD: wss_isapnp.c,v 1.26 2011/06/02 14:12:25 tsutsui Exp $ */ /* * Copyright (c) 1997, 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wss_isapnp.c,v 1.25 2009/05/12 10:16:35 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wss_isapnp.c,v 1.26 2011/06/02 14:12:25 tsutsui Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -58,7 +58,7 @@ int wss_isapnp_match(device_t, cfdata_t, void *); void wss_isapnp_attach(device_t, device_t, void *); -CFATTACH_DECL(wss_isapnp, sizeof(struct wss_softc), +CFATTACH_DECL_NEW(wss_isapnp, sizeof(struct wss_softc), wss_isapnp_match, wss_isapnp_attach, NULL, NULL); /* @@ -93,6 +93,7 @@ sc = device_private(self); ac = &sc->sc_ad1848.sc_ad1848; + ac->sc_dev = self; ipa = aux; printf("\n"); @@ -172,6 +173,6 @@ arg.type = AUDIODEV_TYPE_OPL; arg.hwif = 0; arg.hdl = 0; - (void)config_found(&ac->sc_dev, &arg, audioprint); + (void)config_found(self, &arg, audioprint); } } Index: src/sys/dev/isapnp/ym_isapnp.c diff -u src/sys/dev/isapnp/ym_isapnp.c:1.24 src/sys/dev/isapnp/ym_isapnp.c:1.25 --- src/sys/dev/isapnp/ym_isapnp.c:1.24 Tue May 12 10:16:35 2009 +++ src/sys/dev/isapnp/ym_isapnp.c Thu Jun 2 14:12:25 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: ym_isapnp.c,v 1.24 2009/05/12 10:16:35 cegger Exp $ */ +/* $NetBSD: ym_isapnp.c,v 1.25 2011/06/02 14:12:25 tsutsui Exp $ */ /* * Copyright (c) 1991-1993 Regents of the University of California. @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ym_isapnp.c,v 1.24 2009/05/12 10:16:35 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ym_isapnp.c,v 1.25 2011/06/02 14:12:25 tsutsui Exp $"); #include "mpu_ym.h" @@ -74,7 +74,7 @@ int ym_isapnp_match(device_t, cfdata_t, void *); void ym_isapnp_attach(device_t, device_t, void *); -CFATTACH_DECL(ym_isapnp, sizeof(struct ym_softc), +CFATTACH_DECL_NEW(ym_isapnp, sizeof(struct ym_softc), ym_isapnp_match, ym_isapnp_attach, NULL, NULL); /* @@ -108,6 +108,7 @@ sc = device_private(self); ac = &sc->sc_ad1848.sc_ad1848; + ac->sc_dev = self; ipa = aux; printf("\n");