Module Name: src Committed By: mrg Date: Mon Feb 20 02:14:34 UTC 2012
Modified Files: src/sys/dev/pci: if_bce.c Log Message: convert to device_t. been running on my inspiron 8500 for a couple of months. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/dev/pci/if_bce.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/pci/if_bce.c diff -u src/sys/dev/pci/if_bce.c:1.35 src/sys/dev/pci/if_bce.c:1.36 --- src/sys/dev/pci/if_bce.c:1.35 Thu Feb 2 19:43:05 2012 +++ src/sys/dev/pci/if_bce.c Mon Feb 20 02:14:34 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bce.c,v 1.35 2012/02/02 19:43:05 tls Exp $ */ +/* $NetBSD: if_bce.c,v 1.36 2012/02/20 02:14:34 mrg Exp $ */ /* * Copyright (c) 2003 Clifford Wright. All rights reserved. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.35 2012/02/02 19:43:05 tls Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.36 2012/02/20 02:14:34 mrg Exp $"); #include "vlan.h" @@ -114,7 +114,7 @@ struct bce_chain_data { #define BCE_TIMEOUT 100 /* # 10us for mii read/write */ struct bce_softc { - struct device bce_dev; + device_t bce_dev; bus_space_tag_t bce_btag; bus_space_handle_t bce_bhandle; bus_dma_tag_t bce_dmatag; @@ -179,7 +179,8 @@ static void bce_mii_write(device_t, int, static void bce_statchg(device_t); static void bce_tick(void *); -CFATTACH_DECL(bce, sizeof(struct bce_softc), bce_probe, bce_attach, NULL, NULL); +CFATTACH_DECL_NEW(bce, sizeof(struct bce_softc), + bce_probe, bce_attach, NULL, NULL); static const struct bce_product { pci_vendor_id_t bp_vendor; @@ -251,6 +252,8 @@ bce_attach(device_t parent, device_t sel int error, i, pmreg, rseg; struct ifnet *ifp; + sc->bce_dev = self; + bp = bce_lookup(pa); KASSERT(bp != NULL); @@ -419,7 +422,7 @@ bce_attach(device_t parent, device_t sel sc->ethercom.ec_mii = &sc->bce_mii; ifmedia_init(&sc->bce_mii.mii_media, 0, ether_mediachange, ether_mediastatus); - mii_attach(&sc->bce_dev, &sc->bce_mii, 0xffffffff, MII_PHY_ANY, + mii_attach(sc->bce_dev, &sc->bce_mii, 0xffffffff, MII_PHY_ANY, MII_OFFSET_ANY, MIIF_FORCEANEG|MIIF_DOPAUSE); if (LIST_FIRST(&sc->bce_mii.mii_phys) == NULL) { ifmedia_add(&sc->bce_mii.mii_media, IFM_ETHER | IFM_NONE, 0, NULL); @@ -433,11 +436,11 @@ bce_attach(device_t parent, device_t sel * Enable activity led. * XXX This should be in a phy driver, but not currently. */ - bce_mii_write(&sc->bce_dev, 1, 26, /* MAGIC */ - bce_mii_read(&sc->bce_dev, 1, 26) & 0x7fff); /* MAGIC */ + bce_mii_write(sc->bce_dev, 1, 26, /* MAGIC */ + bce_mii_read(sc->bce_dev, 1, 26) & 0x7fff); /* MAGIC */ /* enable traffic meter led mode */ - bce_mii_write(&sc->bce_dev, 1, 27, /* MAGIC */ - bce_mii_read(&sc->bce_dev, 1, 27) | (1 << 6)); /* MAGIC */ + bce_mii_write(sc->bce_dev, 1, 27, /* MAGIC */ + bce_mii_read(sc->bce_dev, 1, 27) | (1 << 6)); /* MAGIC */ /* Attach the interface */ if_attach(ifp); @@ -537,7 +540,7 @@ bce_start(struct ifnet *ifp) error = bus_dmamap_load_mbuf(sc->bce_dmatag, dmamap, m0, BUS_DMA_WRITE | BUS_DMA_NOWAIT); if (error == EFBIG) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "Tx packet consumes too many DMA segments, " "dropping...\n"); IFQ_DEQUEUE(&ifp->if_snd, m0); @@ -546,7 +549,7 @@ bce_start(struct ifnet *ifp) continue; } else if (error) { /* short on resources, come back later */ - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "unable to load Tx buffer, error = %d\n", error); break; @@ -637,7 +640,7 @@ bce_watchdog(struct ifnet *ifp) { struct bce_softc *sc = ifp->if_softc; - aprint_error_dev(&sc->bce_dev, "device timeout\n"); + aprint_error_dev(sc->bce_dev, "device timeout\n"); ifp->if_oerrors++; (void) bce_init(ifp); @@ -699,7 +702,7 @@ bce_intr(void *xsc) if (intstatus & I_TO) msg = "general purpose timeout"; if (msg != NULL) - aprint_error_dev(&sc->bce_dev, "%s\n", msg); + aprint_error_dev(sc->bce_dev, "%s\n", msg); wantinit = 1; } } @@ -954,7 +957,7 @@ bce_init(struct ifnet *ifp) for (i = 0; i < BCE_NRXDESC; i++) { if (sc->bce_cdata.bce_rx_chain[i] == NULL) { if ((error = bce_add_rxbuf(sc, i)) != 0) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "unable to allocate or map rx(%d) " "mbuf, error = %d\n", i, error); bce_rxdrain(sc); @@ -1015,7 +1018,7 @@ bce_add_mac(struct bce_softc *sc, uint8_ delay(10); } if (i == 100) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "timed out writing pkt filter ctl\n"); } } @@ -1152,7 +1155,7 @@ bce_reset(struct bce_softc *sc) delay(10); } if (i == 200) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "timed out disabling ethernet mac\n"); } @@ -1169,7 +1172,7 @@ bce_reset(struct bce_softc *sc) delay(10); } if (i == 100) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "receive dma did not go idle after" " error\n"); } @@ -1188,7 +1191,7 @@ bce_reset(struct bce_softc *sc) delay(10); } if (i == 200) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "timed out resetting ethernet mac\n"); } } else { @@ -1234,7 +1237,7 @@ bce_reset(struct bce_softc *sc) delay(1); } if (i == 200) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "while resetting core, reject did not set\n"); } /* wait until busy is clear */ @@ -1246,7 +1249,7 @@ bce_reset(struct bce_softc *sc) delay(1); } if (i == 200) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "while resetting core, busy did not clear\n"); } /* set reset and reject while enabling the clocks */ @@ -1386,7 +1389,7 @@ bce_mii_read(device_t self, int phy, int } val = bus_space_read_4(sc->bce_btag, sc->bce_bhandle, BCE_MI_COMM); if (i == BCE_TIMEOUT) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "PHY read timed out reading phy %d, reg %d, val = " "0x%08x\n", phy, reg, val); return (0); @@ -1422,7 +1425,7 @@ bce_mii_write(device_t self, int phy, in } rval = bus_space_read_4(sc->bce_btag, sc->bce_bhandle, BCE_MI_COMM); if (i == BCE_TIMEOUT) { - aprint_error_dev(&sc->bce_dev, + aprint_error_dev(sc->bce_dev, "PHY timed out writing phy %d, reg %d, val = 0x%08x\n", phy, reg, val); } @@ -1448,11 +1451,11 @@ bce_statchg(device_t self) * Enable activity led. * XXX This should be in a phy driver, but not currently. */ - bce_mii_write(&sc->bce_dev, 1, 26, /* MAGIC */ - bce_mii_read(&sc->bce_dev, 1, 26) & 0x7fff); /* MAGIC */ + bce_mii_write(sc->bce_dev, 1, 26, /* MAGIC */ + bce_mii_read(sc->bce_dev, 1, 26) & 0x7fff); /* MAGIC */ /* enable traffic meter led mode */ - bce_mii_write(&sc->bce_dev, 1, 26, /* MAGIC */ - bce_mii_read(&sc->bce_dev, 1, 27) | (1 << 6)); /* MAGIC */ + bce_mii_write(sc->bce_dev, 1, 26, /* MAGIC */ + bce_mii_read(sc->bce_dev, 1, 27) | (1 << 6)); /* MAGIC */ } /* One second timer, checks link status */