Module Name: src Committed By: dyoung Date: Sun Dec 6 23:05:39 UTC 2009
Modified Files: src/sys/dev/pcmcia: if_xi.c if_xivar.h mhzc.c pcmcom.c xirc.c Log Message: device_t/softc split. To generate a diff of this commit: cvs rdiff -u -r1.68 -r1.69 src/sys/dev/pcmcia/if_xi.c cvs rdiff -u -r1.5 -r1.6 src/sys/dev/pcmcia/if_xivar.h cvs rdiff -u -r1.47 -r1.48 src/sys/dev/pcmcia/mhzc.c cvs rdiff -u -r1.38 -r1.39 src/sys/dev/pcmcia/pcmcom.c cvs rdiff -u -r1.30 -r1.31 src/sys/dev/pcmcia/xirc.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/dev/pcmcia/if_xi.c diff -u src/sys/dev/pcmcia/if_xi.c:1.68 src/sys/dev/pcmcia/if_xi.c:1.69 --- src/sys/dev/pcmcia/if_xi.c:1.68 Fri Nov 13 01:14:35 2009 +++ src/sys/dev/pcmcia/if_xi.c Sun Dec 6 23:05:39 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: if_xi.c,v 1.68 2009/11/13 01:14:35 dyoung Exp $ */ +/* $NetBSD: if_xi.c,v 1.69 2009/12/06 23:05:39 dyoung Exp $ */ /* OpenBSD: if_xe.c,v 1.9 1999/09/16 11:28:42 niklas Exp */ /* @@ -55,7 +55,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_xi.c,v 1.68 2009/11/13 01:14:35 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_xi.c,v 1.69 2009/12/06 23:05:39 dyoung Exp $"); #include "opt_inet.h" #include "opt_ipx.h" @@ -211,11 +211,11 @@ /* Reset and initialize the card. */ xi_full_reset(sc); - printf("%s: MAC address %s\n", device_xname(&sc->sc_dev), ether_sprintf(myea)); + printf("%s: MAC address %s\n", device_xname(sc->sc_dev), ether_sprintf(myea)); ifp = &sc->sc_ethercom.ec_if; /* Initialize the ifnet structure. */ - strlcpy(ifp->if_xname, device_xname(&sc->sc_dev), IFNAMSIZ); + strlcpy(ifp->if_xname, device_xname(sc->sc_dev), IFNAMSIZ); ifp->if_softc = sc; ifp->if_start = xi_start; ifp->if_ioctl = xi_ioctl; @@ -242,9 +242,9 @@ ifmedia_init(&sc->sc_mii.mii_media, 0, xi_mediachange, ether_mediastatus); DPRINTF(XID_MII | XID_CONFIG, - ("xi: bmsr %x\n", xi_mdi_read(&sc->sc_dev, 0, 1))); + ("xi: bmsr %x\n", xi_mdi_read(sc->sc_dev, 0, 1))); - mii_attach(&sc->sc_dev, &sc->sc_mii, 0xffffffff, MII_PHY_ANY, + mii_attach(sc->sc_dev, &sc->sc_mii, 0xffffffff, MII_PHY_ANY, MII_OFFSET_ANY, 0); if (LIST_FIRST(&sc->sc_mii.mii_phys) == NULL) ifmedia_add(&sc->sc_mii.mii_media, IFM_ETHER | IFM_AUTO, 0, @@ -252,7 +252,7 @@ ifmedia_set(&sc->sc_mii.mii_media, IFM_ETHER | IFM_AUTO); #if NRND > 0 - rnd_attach_source(&sc->sc_rnd_source, device_xname(&sc->sc_dev), RND_TYPE_NET, 0); + rnd_attach_source(&sc->sc_rnd_source, device_xname(sc->sc_dev), RND_TYPE_NET, 0); #endif } @@ -288,8 +288,7 @@ DPRINTF(XID_CONFIG, ("xi_intr()\n")); - if (sc->sc_enabled == 0 || - !device_is_active(&sc->sc_dev)) + if (sc->sc_enabled == 0 || !device_is_active(sc->sc_dev)) return (0); ifp->if_timer = 0; /* turn watchdog timer off */ @@ -307,7 +306,8 @@ /* Check to see if card has been ejected. */ if (isr == 0xff) { #ifdef DIAGNOSTIC - printf("%s: interrupt for dead card\n", device_xname(&sc->sc_dev)); + printf("%s: interrupt for dead card\n", + device_xname(sc->sc_dev)); #endif goto end; } @@ -664,7 +664,7 @@ { struct xi_softc *sc = ifp->if_softc; - printf("%s: device timeout\n", device_xname(&sc->sc_dev)); + printf("%s: device timeout\n", device_xname(sc->sc_dev)); ++ifp->if_oerrors; xi_reset(sc); Index: src/sys/dev/pcmcia/if_xivar.h diff -u src/sys/dev/pcmcia/if_xivar.h:1.5 src/sys/dev/pcmcia/if_xivar.h:1.6 --- src/sys/dev/pcmcia/if_xivar.h:1.5 Tue May 12 14:42:18 2009 +++ src/sys/dev/pcmcia/if_xivar.h Sun Dec 6 23:05:39 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: if_xivar.h,v 1.5 2009/05/12 14:42:18 cegger Exp $ */ +/* $NetBSD: if_xivar.h,v 1.6 2009/12/06 23:05:39 dyoung Exp $ */ /* * Copyright (c) 2004 Charles M. Hannum. All rights reserved. @@ -25,7 +25,7 @@ #endif struct xi_softc { - struct device sc_dev; /* Generic device info */ + device_t sc_dev; /* Generic device info */ struct ethercom sc_ethercom; /* Ethernet common part */ struct mii_data sc_mii; /* MII media information */ Index: src/sys/dev/pcmcia/mhzc.c diff -u src/sys/dev/pcmcia/mhzc.c:1.47 src/sys/dev/pcmcia/mhzc.c:1.48 --- src/sys/dev/pcmcia/mhzc.c:1.47 Fri Nov 13 01:14:35 2009 +++ src/sys/dev/pcmcia/mhzc.c Sun Dec 6 23:05:39 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: mhzc.c,v 1.47 2009/11/13 01:14:35 dyoung Exp $ */ +/* $NetBSD: mhzc.c,v 1.48 2009/12/06 23:05:39 dyoung Exp $ */ /*- * Copyright (c) 1999, 2000, 2004 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: mhzc.c,v 1.47 2009/11/13 01:14:35 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mhzc.c,v 1.48 2009/12/06 23:05:39 dyoung Exp $"); #include "opt_inet.h" #include "bpfilter.h" @@ -95,7 +95,7 @@ #include "mhzc.h" struct mhzc_softc { - struct device sc_dev; /* generic device glue */ + device_t sc_dev; /* generic device glue */ struct pcmcia_function *sc_pf; /* our PCMCIA function */ void *sc_ih; /* interrupt handle */ @@ -132,8 +132,8 @@ void mhzc_childdet(device_t, device_t); int mhzc_detach(device_t, int); -CFATTACH_DECL(mhzc, sizeof(struct mhzc_softc), - mhzc_match, mhzc_attach, mhzc_detach, NULL); +CFATTACH_DECL2_NEW(mhzc, sizeof(struct mhzc_softc), + mhzc_match, mhzc_attach, mhzc_detach, NULL, NULL, mhzc_childdet); int mhzc_em3336_enaddr(struct mhzc_softc *, u_int8_t *); int mhzc_em3336_enable(struct mhzc_softc *); @@ -183,6 +183,7 @@ struct pcmcia_config_entry *cfe; int error; + sc->sc_dev = self; sc->sc_pf = pa->pf; sc->sc_product = pcmcia_product_lookup(pa, mhzc_products, @@ -232,14 +233,14 @@ if (pcmcia_io_map(sc->sc_pf, PCMCIA_WIDTH_IO8, &sc->sc_modem_pcioh, &sc->sc_modem_io_window)) { - aprint_error_dev(&sc->sc_dev, "unable to map I/O space\n"); + aprint_error_dev(sc->sc_dev, "unable to map I/O space\n"); goto fail; } sc->sc_flags |= MHZC_MODEM_MAPPED; if (pcmcia_io_map(sc->sc_pf, PCMCIA_WIDTH_AUTO, &sc->sc_ethernet_pcioh, &sc->sc_ethernet_io_window)) { - aprint_error_dev(&sc->sc_dev, "unable to map I/O space\n"); + aprint_error_dev(sc->sc_dev, "unable to map I/O space\n"); goto fail; } sc->sc_flags |= MHZC_ETHERNET_MAPPED; @@ -393,7 +394,7 @@ int error; if ((sc->sc_flags & flag) == flag) { - printf("%s: already enabled\n", device_xname(&sc->sc_dev)); + printf("%s: already enabled\n", device_xname(sc->sc_dev)); return (0); } @@ -443,7 +444,7 @@ { if ((sc->sc_flags & flag) == 0) { - printf("%s: already disabled\n", device_xname(&sc->sc_dev)); + printf("%s: already disabled\n", device_xname(sc->sc_dev)); return; } @@ -468,10 +469,10 @@ { /* Get the station address from CIS tuple 0x81. */ - if (pcmcia_scan_cis(device_parent(&sc->sc_dev), + if (pcmcia_scan_cis(device_parent(sc->sc_dev), mhzc_em3336_lannid_ciscallback, myla) != 1) { printf("%s: unable to get Ethernet address from CIS\n", - device_xname(&sc->sc_dev)); + device_xname(sc->sc_dev)); return (0); } @@ -493,13 +494,13 @@ /* Map the ISRPOWEREG. */ if (pcmcia_mem_alloc(sc->sc_pf, 0x1000, &memh) != 0) { - aprint_error_dev(&sc->sc_dev, "unable to allocate memory space\n"); + aprint_error_dev(sc->sc_dev, "unable to allocate memory space\n"); return (1); } if (pcmcia_mem_map(sc->sc_pf, PCMCIA_MEM_ATTR, 0, 0x1000, &memh, &memoff, &memwin)) { - aprint_error_dev(&sc->sc_dev, "unable to map memory space\n"); + aprint_error_dev(sc->sc_dev, "unable to map memory space\n"); pcmcia_mem_free(sc->sc_pf, &memh); return (1); } Index: src/sys/dev/pcmcia/pcmcom.c diff -u src/sys/dev/pcmcia/pcmcom.c:1.38 src/sys/dev/pcmcia/pcmcom.c:1.39 --- src/sys/dev/pcmcia/pcmcom.c:1.38 Thu Nov 12 22:46:47 2009 +++ src/sys/dev/pcmcia/pcmcom.c Sun Dec 6 23:05:39 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: pcmcom.c,v 1.38 2009/11/12 22:46:47 dyoung Exp $ */ +/* $NetBSD: pcmcom.c,v 1.39 2009/12/06 23:05:39 dyoung Exp $ */ /*- * Copyright (c) 1998, 2000, 2004 The NetBSD Foundation, Inc. @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pcmcom.c,v 1.38 2009/11/12 22:46:47 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pcmcom.c,v 1.39 2009/12/06 23:05:39 dyoung Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -68,7 +68,7 @@ #include "locators.h" struct pcmcom_softc { - struct device sc_dev; /* generic device glue */ + device_t sc_dev; /* generic device glue */ struct pcmcia_function *sc_pf; /* our PCMCIA function */ void *sc_ih; /* interrupt handle */ @@ -144,6 +144,8 @@ int error; int locs[PCMCOMCF_NLOCS]; + sc->sc_dev = self; + sc->sc_pf = pa->pf; error = pcmcia_function_configure(pa->pf, pcmcom_validate_config); @@ -171,7 +173,7 @@ locs[PCMCOMCF_SLAVE] = slave; - sc->sc_slaves[slave] = config_found_sm_loc(&sc->sc_dev, + sc->sc_slaves[slave] = config_found_sm_loc(sc->sc_dev, "pcmcom", locs, &pca, pcmcom_print, config_stdsubmatch); } Index: src/sys/dev/pcmcia/xirc.c diff -u src/sys/dev/pcmcia/xirc.c:1.30 src/sys/dev/pcmcia/xirc.c:1.31 --- src/sys/dev/pcmcia/xirc.c:1.30 Fri Nov 13 01:14:35 2009 +++ src/sys/dev/pcmcia/xirc.c Sun Dec 6 23:05:39 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: xirc.c,v 1.30 2009/11/13 01:14:35 dyoung Exp $ */ +/* $NetBSD: xirc.c,v 1.31 2009/12/06 23:05:39 dyoung Exp $ */ /*- * Copyright (c) 1999, 2000, 2004 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: xirc.c,v 1.30 2009/11/13 01:14:35 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xirc.c,v 1.31 2009/12/06 23:05:39 dyoung Exp $"); #include "opt_inet.h" #include "bpfilter.h" @@ -89,7 +89,7 @@ #include <dev/pcmcia/if_xireg.h> struct xirc_softc { - struct device sc_dev; /* generic device glue */ + device_t sc_dev; /* generic device glue */ struct pcmcia_function *sc_pf; /* our PCMCIA function */ void *sc_ih; /* interrupt handle */ @@ -126,8 +126,8 @@ int xirc_detach(device_t, int); void xirc_childdet(device_t, device_t); -CFATTACH_DECL(xirc, sizeof(struct xirc_softc), - xirc_match, xirc_attach, xirc_detach, NULL); +CFATTACH_DECL2_NEW(xirc, sizeof(struct xirc_softc), + xirc_match, xirc_attach, xirc_detach, NULL, NULL, xirc_childdet); int xirc_print(void *, const char *); @@ -176,6 +176,8 @@ int rv; int error; + sc->sc_dev = self; + sc->sc_pf = pa->pf; pcmcia_socket_enable(parent); @@ -454,7 +456,7 @@ int error; if ((sc->sc_flags & flag) == flag) { - printf("%s: already enabled\n", device_xname(&sc->sc_dev)); + printf("%s: already enabled\n", device_xname(sc->sc_dev)); return (0); } @@ -501,7 +503,7 @@ { if ((sc->sc_flags & flag) == 0) { - printf("%s: already disabled\n", device_xname(&sc->sc_dev)); + printf("%s: already disabled\n", device_xname(sc->sc_dev)); return; } @@ -629,6 +631,8 @@ struct xirc_softc *msc = device_private(parent); u_int8_t myla[ETHER_ADDR_LEN]; + sc->sc_dev = self; + aprint_normal("\n"); sc->sc_bst = msc->sc_ethernet_pcioh.iot; @@ -639,7 +643,7 @@ sc->sc_enable = xi_xirc_enable; sc->sc_disable = xi_xirc_disable; - if (!pcmcia_scan_cis(device_parent(&msc->sc_dev), + if (!pcmcia_scan_cis(device_parent(msc->sc_dev), xi_xirc_lan_nid_ciscallback, myla)) { aprint_error_dev(self, "can't find MAC address\n"); return; @@ -652,8 +656,7 @@ int xi_xirc_enable(struct xi_softc *sc) { - struct xirc_softc *msc = - (struct xirc_softc *)device_parent(&sc->sc_dev); + struct xirc_softc *msc = device_private(device_parent(sc->sc_dev)); return (xirc_enable(msc, XIRC_ETHERNET_ENABLED, XIMEDIA_ETHER)); } @@ -661,8 +664,7 @@ void xi_xirc_disable(struct xi_softc *sc) { - struct xirc_softc *msc = - (struct xirc_softc *)device_parent(&sc->sc_dev); + struct xirc_softc *msc = device_private(device_parent(sc->sc_dev)); xirc_disable(msc, XIRC_ETHERNET_ENABLED, XIMEDIA_ETHER); }