Module Name: src Committed By: mrg Date: Mon Jul 18 00:58:52 UTC 2011
Modified Files: src/sys/dev/ic: cd18xxvar.h midway.c midwayvar.h src/sys/dev/pci: if_en_pci.c src/sys/dev/sbus: if_en.c qe.c sio16.c spif.c spifvar.h stp4020.c xbox.c Log Message: convert the remaining dev/sbus drivers to CFATTACH_DECL_NEW, cfdata_t and device_t, including the pci frontend and backend for en(4). To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/dev/ic/cd18xxvar.h cvs rdiff -u -r1.92 -r1.93 src/sys/dev/ic/midway.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/ic/midwayvar.h cvs rdiff -u -r1.34 -r1.35 src/sys/dev/pci/if_en_pci.c cvs rdiff -u -r1.28 -r1.29 src/sys/dev/sbus/if_en.c cvs rdiff -u -r1.58 -r1.59 src/sys/dev/sbus/qe.c cvs rdiff -u -r1.23 -r1.24 src/sys/dev/sbus/sio16.c cvs rdiff -u -r1.27 -r1.28 src/sys/dev/sbus/spif.c cvs rdiff -u -r1.3 -r1.4 src/sys/dev/sbus/spifvar.h cvs rdiff -u -r1.64 -r1.65 src/sys/dev/sbus/stp4020.c cvs rdiff -u -r1.20 -r1.21 src/sys/dev/sbus/xbox.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/ic/cd18xxvar.h diff -u src/sys/dev/ic/cd18xxvar.h:1.2 src/sys/dev/ic/cd18xxvar.h:1.3 --- src/sys/dev/ic/cd18xxvar.h:1.2 Thu May 29 14:51:27 2008 +++ src/sys/dev/ic/cd18xxvar.h Mon Jul 18 00:58:51 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: cd18xxvar.h,v 1.2 2008/05/29 14:51:27 mrg Exp $ */ +/* $NetBSD: cd18xxvar.h,v 1.3 2011/07/18 00:58:51 mrg Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -97,8 +97,6 @@ /* softc allocated per-cd18xx */ struct cd18xx_softc { - struct device sc_dev; - /* tag and handle for our registers (128 bytes) */ bus_space_tag_t sc_tag; bus_space_handle_t sc_handle; Index: src/sys/dev/ic/midway.c diff -u src/sys/dev/ic/midway.c:1.92 src/sys/dev/ic/midway.c:1.93 --- src/sys/dev/ic/midway.c:1.92 Tue Feb 1 19:50:03 2011 +++ src/sys/dev/ic/midway.c Mon Jul 18 00:58:51 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: midway.c,v 1.92 2011/02/01 19:50:03 chuck Exp $ */ +/* $NetBSD: midway.c,v 1.93 2011/07/18 00:58:51 mrg Exp $ */ /* (sync'd to midway.c 1.68) */ /* @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: midway.c,v 1.92 2011/02/01 19:50:03 chuck Exp $"); +__KERNEL_RCSID(0, "$NetBSD: midway.c,v 1.93 2011/07/18 00:58:51 mrg Exp $"); #include "opt_natm.h" @@ -728,7 +728,7 @@ reg = EN_READ(sc, MID_RESID); - aprint_normal_dev(&sc->sc_dev, + aprint_normal_dev(sc->sc_dev, "ATM midway v%d, board IDs %d.%d, %s%s%s, %ldKB on-board RAM\n", MID_VER(reg), MID_MID(reg), MID_DID(reg), (MID_IS_SABRE(reg)) ? "sabre controller, " : "", @@ -738,19 +738,19 @@ if (sc->is_adaptec) { if (sc->bestburstlen == 64 && sc->alburst == 0) - aprint_normal_dev(&sc->sc_dev, "passed 64 byte DMA test\n"); + aprint_normal_dev(sc->sc_dev, "passed 64 byte DMA test\n"); else - aprint_error_dev(&sc->sc_dev, "FAILED DMA TEST: burst=%d, alburst=%d\n", + aprint_error_dev(sc->sc_dev, "FAILED DMA TEST: burst=%d, alburst=%d\n", sc->bestburstlen, sc->alburst); } else { - aprint_normal_dev(&sc->sc_dev, "maximum DMA burst length = %d bytes%s\n", + aprint_normal_dev(sc->sc_dev, "maximum DMA burst length = %d bytes%s\n", sc->bestburstlen, (sc->alburst) ? " (must align)" : ""); } #if 0 /* WMAYBE doesn't work, don't complain about it */ /* check if en_dmaprobe disabled wmaybe */ if (en_dmaplan == en_dma_planB) - aprint_normal_dev(&sc->sc_dev, "note: WMAYBE DMA has been disabled\n"); + aprint_normal_dev(sc->sc_dev, "note: WMAYBE DMA has been disabled\n"); #endif /* @@ -758,7 +758,7 @@ */ #if defined(__NetBSD__) || defined(__OpenBSD__) - strlcpy(sc->enif.if_xname, device_xname(&sc->sc_dev), IFNAMSIZ); + strlcpy(sc->enif.if_xname, device_xname(sc->sc_dev), IFNAMSIZ); #endif #if !defined(MISSING_IF_SOFTC) sc->enif.if_softc = sc; @@ -784,7 +784,7 @@ ptr = roundup(ptr, EN_TXSZ * 1024); /* align */ sz = sz - (ptr - sav); if (EN_TXSZ*1024 * EN_NTX > sz) { - aprint_error_dev(&sc->sc_dev, "EN_NTX/EN_TXSZ too big\n"); + aprint_error_dev(sc->sc_dev, "EN_NTX/EN_TXSZ too big\n"); return; } for (lcv = 0 ; lcv < EN_NTX ; lcv++) { @@ -800,7 +800,7 @@ memset(&sc->txslot[lcv].indma, 0, sizeof(sc->txslot[lcv].indma)); memset(&sc->txslot[lcv].q, 0, sizeof(sc->txslot[lcv].q)); #ifdef EN_DEBUG - aprint_debug_dev(&sc->sc_dev, "tx%d: start 0x%x, stop 0x%x\n", lcv, + aprint_debug_dev(sc->sc_dev, "tx%d: start 0x%x, stop 0x%x\n", lcv, sc->txslot[lcv].start, sc->txslot[lcv].stop); #endif } @@ -810,7 +810,7 @@ sz = sz - (ptr - sav); sc->en_nrx = sz / (EN_RXSZ * 1024); if (sc->en_nrx <= 0) { - aprint_error_dev(&sc->sc_dev, "EN_NTX/EN_TXSZ/EN_RXSZ too big\n"); + aprint_error_dev(sc->sc_dev, "EN_NTX/EN_TXSZ/EN_RXSZ too big\n"); return; } @@ -838,7 +838,7 @@ (en_k2sz(EN_RXSZ) << MIDV_SZSHIFT) | MIDV_TRASH; #ifdef EN_DEBUG - aprint_debug_dev(&sc->sc_dev, "rx%d: start 0x%x, stop 0x%x, mode 0x%x\n", + aprint_debug_dev(sc->sc_dev, "rx%d: start 0x%x, stop 0x%x, mode 0x%x\n", lcv, sc->rxslot[lcv].start, sc->rxslot[lcv].stop, sc->rxslot[lcv].mode); #endif } @@ -852,11 +852,11 @@ #endif sc->need_drqs = sc->need_dtqs = 0; - aprint_normal_dev(&sc->sc_dev, + aprint_normal_dev(sc->sc_dev, "%d %dKB receive buffers, %d %dKB transmit buffers allocated\n", sc->en_nrx, EN_RXSZ, EN_NTX, EN_TXSZ); - aprint_normal_dev(&sc->sc_dev, "End Station Identifier (mac address) %s\n", + aprint_normal_dev(sc->sc_dev, "End Station Identifier (mac address) %s\n", ether_sprintf(sc->macaddr)); /* @@ -945,7 +945,7 @@ } if (EN_NOWMAYBE || fail) { if (fail) - aprint_error_dev(&sc->sc_dev, "WARNING: WMAYBE DMA test failed %d time(s)\n", + aprint_error_dev(sc->sc_dev, "WARNING: WMAYBE DMA test failed %d time(s)\n", fail); en_dmaplan = en_dma_planB; /* fall back to plan B */ } @@ -1025,14 +1025,14 @@ DELAY(1); cnt--; if (cnt == 0) { - aprint_error_dev(&sc->sc_dev, "unexpected timeout in tx DMA test\n"); + aprint_error_dev(sc->sc_dev, "unexpected timeout in tx DMA test\n"); return(retval); /* timeout, give up */ } } EN_WRAPADD(MID_DTQOFF, MID_DTQEND, sc->dtq_chip, 8); reg = EN_READ(sc, MID_INTACK); if ((reg & MID_INT_DMA_TX) != MID_INT_DMA_TX) { - aprint_error_dev(&sc->sc_dev, "unexpected status in tx DMA test: 0x%x\n", + aprint_error_dev(sc->sc_dev, "unexpected status in tx DMA test: 0x%x\n", reg); return(retval); } @@ -1051,14 +1051,14 @@ DELAY(1); cnt--; if (cnt == 0) { - aprint_error_dev(&sc->sc_dev, "unexpected timeout in rx DMA test\n"); + aprint_error_dev(sc->sc_dev, "unexpected timeout in rx DMA test\n"); return(retval); /* timeout, give up */ } } EN_WRAPADD(MID_DRQOFF, MID_DRQEND, sc->drq_chip, 8); reg = EN_READ(sc, MID_INTACK); if ((reg & MID_INT_DMA_RX) != MID_INT_DMA_RX) { - aprint_error_dev(&sc->sc_dev, "unexpected status in rx DMA test: 0x%x\n", + aprint_error_dev(sc->sc_dev, "unexpected status in rx DMA test: 0x%x\n", reg); return(retval); } @@ -1133,7 +1133,7 @@ } #ifdef EN_DEBUG printf("%s: rxvci%d: turn %s raw (boodi) mode\n", - device_xname(&sc->sc_dev), ario->npcb->npcb_vci, + device_xname(sc->sc_dev), ario->npcb->npcb_vci, (ario->rawvalue) ? "on" : "off"); #endif break; @@ -1297,7 +1297,7 @@ flags = ATM_PH_FLAGS(&pi->aph); #ifdef EN_DEBUG - printf("%s: %s vpi=%d, vci=%d, flags=%d\n", device_xname(&sc->sc_dev), + printf("%s: %s vpi=%d, vci=%d, flags=%d\n", device_xname(sc->sc_dev), (on) ? "enable" : "disable", ATM_PH_VPI(&pi->aph), vci, flags); #endif @@ -1368,7 +1368,7 @@ } splx(s); /* enable enintr() */ #ifdef EN_DEBUG - printf("%s: rx%d: VCI %d is now %s\n", device_xname(&sc->sc_dev), slot, vci, + printf("%s: rx%d: VCI %d is now %s\n", device_xname(sc->sc_dev), slot, vci, (sc->rxslot[slot].oth_flags & ENOTHER_DRAIN) ? "draining" : "free"); #endif return(0); @@ -1387,7 +1387,7 @@ int lcv, slot; #ifdef EN_DEBUG - printf("%s: reset\n", device_xname(&sc->sc_dev)); + printf("%s: reset\n", device_xname(sc->sc_dev)); #endif if (sc->en_busreset) @@ -1420,7 +1420,7 @@ sc->rxslot[slot].oth_flags = ENOTHER_FREE; sc->rxvc2slot[lcv] = RX_NONE; #ifdef EN_DEBUG - printf("%s: rx%d: VCI %d is now free\n", device_xname(&sc->sc_dev), slot, lcv); + printf("%s: rx%d: VCI %d is now free\n", device_xname(sc->sc_dev), slot, lcv); #endif } } @@ -1475,7 +1475,7 @@ } #endif #ifdef EN_DEBUG - printf("%s: going down\n", device_xname(&sc->sc_dev)); + printf("%s: going down\n", device_xname(sc->sc_dev)); #endif en_reset(sc); /* to be safe */ sc->enif.if_flags &= ~IFF_RUNNING; /* disable */ @@ -1486,7 +1486,7 @@ up: #endif #ifdef EN_DEBUG - printf("%s: going up\n", device_xname(&sc->sc_dev)); + printf("%s: going up\n", device_xname(sc->sc_dev)); #endif sc->enif.if_flags |= IFF_RUNNING; /* enable */ #ifdef ATM_PVCEXT @@ -1535,7 +1535,7 @@ #ifdef EN_DEBUG printf("%s: drq free/chip: %d/0x%x, dtq free/chip: %d/0x%x, hwslist: 0x%x\n", - device_xname(&sc->sc_dev), sc->drq_free, sc->drq_chip, + device_xname(sc->sc_dev), sc->drq_free, sc->drq_chip, sc->dtq_free, sc->dtq_chip, sc->hwslistp); #endif @@ -1549,7 +1549,7 @@ loc = loc >> MIDV_LOCTOPSHFT; /* top 11 bits */ EN_WRITE(sc, MIDX_PLACE(slot), MIDX_MKPLACE(en_k2sz(EN_TXSZ), loc)); #ifdef EN_DEBUG - printf("%s: tx%d: place 0x%x\n", device_xname(&sc->sc_dev), slot, + printf("%s: tx%d: place 0x%x\n", device_xname(sc->sc_dev), slot, EN_READ(sc, MIDX_PLACE(slot))); #endif } @@ -1590,7 +1590,7 @@ sc->rxslot[slot].cur = sc->rxslot[slot].start; #ifdef EN_DEBUG - printf("%s: rx%d: assigned to VCI %d\n", device_xname(&sc->sc_dev), slot, vc); + printf("%s: rx%d: assigned to VCI %d\n", device_xname(sc->sc_dev), slot, vc); #endif } @@ -1679,7 +1679,7 @@ if (atm_vpi || atm_vci >= MID_N_VC) { printf("%s: output vpi=%d, vci=%d out of card range, dropping...\n", - device_xname(&sc->sc_dev), atm_vpi, atm_vci); + device_xname(sc->sc_dev), atm_vpi, atm_vci); m_freem(m); continue; } @@ -1705,7 +1705,7 @@ #ifdef EN_DEBUG printf("%s: txvci%d: mlen=%d, got=%d, need=%d, toadd=%d, cell#=%d\n", - device_xname(&sc->sc_dev), atm_vci, mlen, got, need, toadd, cellcnt); + device_xname(sc->sc_dev), atm_vci, mlen, got, need, toadd, cellcnt); printf(" leading_space=%d, trailing_space=%d\n", M_LEADINGSPACE(m), M_TRAILINGSPACE(lastm)); #endif @@ -1761,7 +1761,7 @@ EN_COUNT(sc->txmbovr); m_freem(m); #ifdef EN_DEBUG - printf("%s: tx%d: buffer space shortage\n", device_xname(&sc->sc_dev), + printf("%s: tx%d: buffer space shortage\n", device_xname(sc->sc_dev), txchan); #endif continue; @@ -1771,7 +1771,7 @@ #ifdef EN_DEBUG printf("%s: tx%d: VPI=%d, VCI=%d, FLAGS=0x%x, speed=0x%x\n", - device_xname(&sc->sc_dev), txchan, atm_vpi, atm_vci, atm_flags, + device_xname(sc->sc_dev), txchan, atm_vpi, atm_vci, atm_flags, sc->txspeed[atm_vci]); printf(" adjusted mlen=%d, mbsize=%d\n", mlen, sc->txslot[txchan].mbsize); @@ -1802,7 +1802,7 @@ EN_COUNT(sc->mfix); /* count # of calls */ #ifdef EN_DEBUG - printf("%s: mfix mbuf m_data=%p, m_len=%d\n", device_xname(&sc->sc_dev), + printf("%s: mfix mbuf m_data=%p, m_len=%d\n", device_xname(sc->sc_dev), m->m_data, m->m_len); #endif @@ -1876,7 +1876,7 @@ if (m->m_flags & M_EXT) { if (m->m_ext.ext_free) { /* external buffer isn't an ordinary mbuf cluster! */ - aprint_error_dev(&sc->sc_dev, "mfix: special buffer! can't make a copy!\n"); + aprint_error_dev(sc->sc_dev, "mfix: special buffer! can't make a copy!\n"); return (0); } @@ -1933,7 +1933,7 @@ EN_COUNT(sc->mfix); /* count # of calls */ #ifdef EN_DEBUG - printf("%s: mfix mbuf m_data=0x%x, m_len=%d\n", device_xname(&sc->sc_dev), + printf("%s: mfix mbuf m_data=0x%x, m_len=%d\n", device_xname(sc->sc_dev), m->m_data, m->m_len); #endif @@ -2007,7 +2007,7 @@ memset(&launch, 0, sizeof launch); /* XXX gcc */ #ifdef EN_DEBUG - printf("%s: tx%d: starting...\n", device_xname(&sc->sc_dev), chan); + printf("%s: tx%d: starting...\n", device_xname(sc->sc_dev), chan); #endif /* @@ -2028,7 +2028,7 @@ if (launch.t == NULL) { #ifdef EN_DEBUG - printf("%s: tx%d: ...done!\n", device_xname(&sc->sc_dev), chan); + printf("%s: tx%d: ...done!\n", device_xname(sc->sc_dev), chan); #endif return; /* >>> exit here if no data waiting for DMA <<< */ } @@ -2101,7 +2101,7 @@ if (launch.need > EN_TXSZ * 1024) { printf("%s: tx%d: packet larger than xmit buffer (%d > %d)\n", - device_xname(&sc->sc_dev), chan, launch.need, EN_TXSZ * 1024); + device_xname(sc->sc_dev), chan, launch.need, EN_TXSZ * 1024); goto dequeue_drop; } @@ -2115,7 +2115,7 @@ if (launch.need >= sc->txslot[chan].bfree) { EN_COUNT(sc->txoutspace); #ifdef EN_DEBUG - printf("%s: tx%d: out of transmit space\n", device_xname(&sc->sc_dev), chan); + printf("%s: tx%d: out of transmit space\n", device_xname(sc->sc_dev), chan); #endif return; /* >>> exit here if out of obmem buffer space <<< */ } @@ -2131,7 +2131,7 @@ sc->need_dtqs = 1; EN_COUNT(sc->txdtqout); #ifdef EN_DEBUG - printf("%s: tx%d: out of transmit DTQs\n", device_xname(&sc->sc_dev), chan); + printf("%s: tx%d: out of transmit DTQs\n", device_xname(sc->sc_dev), chan); #endif return; /* >>> exit here if out of dtqs <<< */ } @@ -2255,12 +2255,12 @@ #ifdef EN_DIAG if ((need - MID_TBD_SIZE) % MID_ATMDATASZ) - printf("%s: tx%d: bogus transmit needs (%d)\n", device_xname(&sc->sc_dev), chan, + printf("%s: tx%d: bogus transmit needs (%d)\n", device_xname(sc->sc_dev), chan, need); #endif #ifdef EN_DEBUG printf("%s: tx%d: launch mbuf %p! cur=0x%x[%d], need=%d, addtail=%d\n", - device_xname(&sc->sc_dev), chan, l->t, cur, (cur-start)/4, need, addtail); + device_xname(sc->sc_dev), chan, l->t, cur, (cur-start)/4, need, addtail); count = EN_READ(sc, MIDX_PLACE(chan)); printf(" HW: base_address=0x%x, size=%d, read=%d, descstart=%d\n", MIDX_BASE(count), MIDX_SZ(count), EN_READ(sc, MIDX_READPTR(chan)), @@ -2274,7 +2274,7 @@ if ((l->atm_flags & EN_OBHDR) == 0) { #ifdef EN_DEBUG - printf("%s: tx%d: insert header 0x%x 0x%x\n", device_xname(&sc->sc_dev), + printf("%s: tx%d: insert header 0x%x 0x%x\n", device_xname(sc->sc_dev), chan, l->tbd1, l->tbd2); #endif EN_WRITE(sc, cur, l->tbd1); @@ -2321,7 +2321,7 @@ need -= len; #ifdef EN_DEBUG printf("%s: tx%d: copied %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, len, need, cur); + device_xname(sc->sc_dev), chan, len, need, cur); #endif continue; /* continue on to next mbuf */ } @@ -2331,7 +2331,7 @@ EN_DTQADD(sc, WORD_IDX(start,cur), chan, MIDDMA_JK, 0, 0, 0); #ifdef EN_DEBUG printf("%s: tx%d: dtq_sync: advance pointer to %d\n", - device_xname(&sc->sc_dev), chan, cur); + device_xname(sc->sc_dev), chan, cur); #endif } @@ -2359,7 +2359,7 @@ EN_WRAPADD(start, stop, cur, len); #ifdef EN_DEBUG printf("%s: tx%d: adp_dma %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, len, need, cur); + device_xname(sc->sc_dev), chan, len, need, cur); #endif end = (need == 0) ? MID_DMA_END : 0; EN_DTQADD(sc, len, chan, 0, vtophys((vaddr_t)data), l->mlen, end); @@ -2393,7 +2393,7 @@ EN_WRAPADD(start, stop, cur, cnt); #ifdef EN_DEBUG printf("%s: tx%d: small al_dma %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, cnt, need, cur); + device_xname(sc->sc_dev), chan, cnt, need, cur); #endif len -= cnt; end = (need == 0) ? MID_DMA_END : 0; @@ -2422,7 +2422,7 @@ EN_WRAPADD(start, stop, cur, cnt); #ifdef EN_DEBUG printf("%s: tx%d: al_dma %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, cnt, need, cur); + device_xname(sc->sc_dev), chan, cnt, need, cur); #endif len -= cnt; end = (need == 0) ? MID_DMA_END : 0; @@ -2441,7 +2441,7 @@ EN_WRAPADD(start, stop, cur, cnt); #ifdef EN_DEBUG printf("%s: tx%d: best_dma %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, cnt, need, cur); + device_xname(sc->sc_dev), chan, cnt, need, cur); #endif len -= cnt; end = (need == 0) ? MID_DMA_END : 0; @@ -2461,7 +2461,7 @@ EN_WRAPADD(start, stop, cur, cnt); #ifdef EN_DEBUG printf("%s: tx%d: cleanup_dma %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, cnt, need, cur); + device_xname(sc->sc_dev), chan, cnt, need, cur); #endif len -= cnt; end = (need == 0) ? MID_DMA_END : 0; @@ -2485,7 +2485,7 @@ EN_WRAPADD(start, stop, cur, len); #ifdef EN_DEBUG printf("%s: tx%d: byte cleanup_dma %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, len, need, cur); + device_xname(sc->sc_dev), chan, len, need, cur); #endif end = (need == 0) ? MID_DMA_END : 0; EN_DTQADD(sc, count, chan, bcode, vtophys((vaddr_t)data), l->mlen, end); @@ -2527,7 +2527,7 @@ need -= pad; #ifdef EN_DEBUG printf("%s: tx%d: pad/FLUSH DMA %d bytes (%d left, cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, pad, need, cur); + device_xname(sc->sc_dev), chan, pad, need, cur); #endif } @@ -2537,7 +2537,7 @@ pad -= 2; #ifdef EN_DEBUG printf("%s: tx%d: padding %d bytes (cur now 0x%x)\n", - device_xname(&sc->sc_dev), chan, pad * sizeof(u_int32_t), cur); + device_xname(sc->sc_dev), chan, pad * sizeof(u_int32_t), cur); #endif while (pad--) { EN_WRITEDAT(sc, cur, 0); /* no byte order issues with zero */ @@ -2561,7 +2561,7 @@ sc->txslot[chan].cur = cur; #ifdef EN_DEBUG printf("%s: tx%d: DONE! cur now = 0x%x\n", - device_xname(&sc->sc_dev), chan, cur); + device_xname(sc->sc_dev), chan, cur); #endif return; @@ -2591,7 +2591,7 @@ char sbuf[256]; snprintb(sbuf, sizeof(sbuf), MID_INTBITS, reg); - printf("%s: interrupt=0x%s\n", device_xname(&sc->sc_dev), sbuf); + printf("%s: interrupt=0x%s\n", device_xname(sc->sc_dev), sbuf); } #endif @@ -2604,7 +2604,7 @@ snprintb(sbuf, sizeof(sbuf), MID_INTBITS, reg); printf("%s: unexpected interrupt=0x%s, resetting card\n", - device_xname(&sc->sc_dev), sbuf); + device_xname(sc->sc_dev), sbuf); #ifdef EN_DEBUG #ifdef DDB #ifdef __FreeBSD__ @@ -2645,7 +2645,7 @@ sc->txslot[lcv].bfree = (val + (EN_TXSZ*1024)) - sc->txslot[lcv].cur; #ifdef EN_DEBUG printf("%s: tx%d: transmit done. %d bytes now free in buffer\n", - device_xname(&sc->sc_dev), lcv, sc->txslot[lcv].bfree); + device_xname(sc->sc_dev), lcv, sc->txslot[lcv].bfree); #endif } } @@ -2664,7 +2664,7 @@ kick = MID_NTX_CH - 1; /* assume power of 2, kick all! */ sc->need_dtqs = 0; /* recalculated in "kick" loop below */ #ifdef EN_DEBUG - printf("%s: cleared need DTQ condition\n", device_xname(&sc->sc_dev)); + printf("%s: cleared need DTQ condition\n", device_xname(sc->sc_dev)); #endif } while (idx != val) { @@ -2677,7 +2677,7 @@ sc->txslot[slot].mbsize -= EN_DQ_LEN(dtq); #ifdef EN_DEBUG printf("%s: tx%d: free %d DMA bytes, mbsize now %d\n", - device_xname(&sc->sc_dev), slot, EN_DQ_LEN(dtq), + device_xname(sc->sc_dev), slot, EN_DQ_LEN(dtq), sc->txslot[slot].mbsize); #endif m_freem(m); @@ -2694,7 +2694,7 @@ if (kick) { #ifdef EN_DEBUG - printf("%s: tx kick mask = 0x%x\n", device_xname(&sc->sc_dev), kick); + printf("%s: tx kick mask = 0x%x\n", device_xname(sc->sc_dev), kick); #endif for (mask = 1, lcv = 0 ; lcv < EN_NTX ; lcv++, mask = mask * 2) { if ((kick & mask) && sc->txslot[lcv].q.ifq_head) { @@ -2726,7 +2726,7 @@ IF_DEQUEUE(&sc->rxslot[slot].indma, m); if (!m) panic("enintr: drqsync: %s: lost mbuf in slot %d!", - device_xname(&sc->sc_dev), slot); + device_xname(sc->sc_dev), slot); } /* do something with this mbuf */ if (sc->rxslot[slot].oth_flags & ENOTHER_DRAIN) { /* drain? */ @@ -2741,7 +2741,7 @@ sc->rxslot[slot].atm_vci = RX_NONE; sc->rxvc2slot[vci] = RX_NONE; #ifdef EN_DEBUG - printf("%s: rx%d: VCI %d now free\n", device_xname(&sc->sc_dev), + printf("%s: rx%d: VCI %d now free\n", device_xname(sc->sc_dev), slot, vci); #endif } @@ -2751,7 +2751,7 @@ ATM_PH_SETVCI(&ah, sc->rxslot[slot].atm_vci); #ifdef EN_DEBUG printf("%s: rx%d: rxvci%d: atm_input, mbuf %p, len %d, hand %p\n", - device_xname(&sc->sc_dev), slot, sc->rxslot[slot].atm_vci, m, + device_xname(sc->sc_dev), slot, sc->rxslot[slot].atm_vci, m, EN_DQ_LEN(drq), sc->rxslot[slot].rxhand); #endif @@ -2779,7 +2779,7 @@ need_softserv = 1; sc->need_drqs = 0; #ifdef EN_DEBUG - printf("%s: cleared need DRQ condition\n", device_xname(&sc->sc_dev)); + printf("%s: cleared need DRQ condition\n", device_xname(sc->sc_dev)); #endif } } @@ -2800,7 +2800,7 @@ if (slot == RX_NONE) { #ifdef EN_DEBUG printf("%s: unexpected rx interrupt on VCI %d\n", - device_xname(&sc->sc_dev), vci); + device_xname(sc->sc_dev), vci); #endif EN_WRITE(sc, MID_VC(vci), MIDV_TRASH); /* rx off, damn it! */ continue; /* next */ @@ -2809,7 +2809,7 @@ EN_COUNT(sc->hwpull); #ifdef EN_DEBUG - printf("%s: pulled VCI %d off hwslist\n", device_xname(&sc->sc_dev), vci); + printf("%s: pulled VCI %d off hwslist\n", device_xname(sc->sc_dev), vci); #endif /* add it to the software service list (if needed) */ @@ -2821,7 +2821,7 @@ EN_WRAPADD(0, MID_SL_N, sc->swsl_tail, 1); sc->swsl_size++; #ifdef EN_DEBUG - printf("%s: added VCI %d to swslist\n", device_xname(&sc->sc_dev), vci); + printf("%s: added VCI %d to swslist\n", device_xname(sc->sc_dev), vci); #endif } }; @@ -2841,7 +2841,7 @@ if (reg & MID_INT_DMA_OVR) { EN_COUNT(sc->dmaovr); #ifdef EN_DEBUG - printf("%s: MID_INT_DMA_OVR\n", device_xname(&sc->sc_dev)); + printf("%s: MID_INT_DMA_OVR\n", device_xname(sc->sc_dev)); #endif } reg = EN_READ(sc, MID_STAT); @@ -2883,7 +2883,7 @@ next_vci: if (sc->swsl_size == 0) { #ifdef EN_DEBUG - printf("%s: en_service done\n", device_xname(&sc->sc_dev)); + printf("%s: en_service done\n", device_xname(sc->sc_dev)); #endif return; /* >>> exit here if swsl now empty <<< */ } @@ -2909,7 +2909,7 @@ #ifdef EN_DEBUG printf("%s: rx%d: service vci=%d raw=%d start/stop/cur=0x%x 0x%x 0x%x\n", - device_xname(&sc->sc_dev), slot, vci, raw, start, stop, cur); + device_xname(sc->sc_dev), slot, vci, raw, start, stop, cur); #endif same_vci: @@ -2925,7 +2925,7 @@ /* >>> remove from swslist <<< */ #ifdef EN_DEBUG printf("%s: rx%d: remove vci %d from swslist\n", - device_xname(&sc->sc_dev), slot, vci); + device_xname(sc->sc_dev), slot, vci); #endif goto next_vci; } @@ -2978,11 +2978,11 @@ static int first = 1; if (first) { - printf("%s: %s, dropping frame\n", device_xname(&sc->sc_dev), + printf("%s: %s, dropping frame\n", device_xname(sc->sc_dev), (rbd & MID_RBD_CRCERR) ? "CRC error" : "invalid AAL5 PDU length"); printf("%s: got %d cells (%d bytes), AAL5 len is %d bytes (pdu=0x%x)\n", - device_xname(&sc->sc_dev), MID_RBD_CNT(rbd), + device_xname(sc->sc_dev), MID_RBD_CNT(rbd), tlen - MID_RBD_SIZE, MID_PDU_LEN(pdu), pdu); #ifndef EN_DEBUG printf("CRC error report disabled from now on!\n"); @@ -3024,7 +3024,7 @@ if (sav[0] != cur) { #ifdef EN_DEBUG printf("%s: rx%d: q'ed mbuf %p not ours\n", - device_xname(&sc->sc_dev), slot, m); + device_xname(sc->sc_dev), slot, m); #endif m = NULL; /* wasn't ours */ EN_COUNT(sc->rxqnotus); @@ -3034,7 +3034,7 @@ drqneed = sav[1]; #ifdef EN_DEBUG printf("%s: rx%d: recovered q'ed mbuf %p (drqneed=%d)\n", - device_xname(&sc->sc_dev), slot, m, drqneed); + device_xname(sc->sc_dev), slot, m, drqneed); #endif } } @@ -3046,18 +3046,18 @@ mlen = 0; EN_COUNT(sc->rxmbufout); #ifdef EN_DEBUG - printf("%s: rx%d: out of mbufs\n", device_xname(&sc->sc_dev), slot); + printf("%s: rx%d: out of mbufs\n", device_xname(sc->sc_dev), slot); #endif } #ifdef EN_DEBUG printf("%s: rx%d: allocate mbuf %p, mlen=%d, drqneed=%d\n", - device_xname(&sc->sc_dev), slot, m, mlen, drqneed); + device_xname(sc->sc_dev), slot, m, mlen, drqneed); #endif } #ifdef EN_DEBUG printf("%s: rx%d: VCI %d, mbuf_chain %p, mlen %d, fill %d\n", - device_xname(&sc->sc_dev), slot, vci, m, mlen, fill); + device_xname(sc->sc_dev), slot, vci, m, mlen, fill); #endif /* @@ -3071,7 +3071,7 @@ if (m == NULL) { EN_COUNT(sc->rxoutboth); #ifdef EN_DEBUG - printf("%s: rx%d: out of DRQs *and* mbufs!\n", device_xname(&sc->sc_dev), slot); + printf("%s: rx%d: out of DRQs *and* mbufs!\n", device_xname(sc->sc_dev), slot); #endif return; /* >>> exit here if out of both mbufs and DRQs <<< */ } @@ -3081,7 +3081,7 @@ IF_ENQUEUE(&sc->rxslot[slot].q, m); EN_COUNT(sc->rxdrqout); #ifdef EN_DEBUG - printf("%s: rx%d: out of DRQs\n", device_xname(&sc->sc_dev), slot); + printf("%s: rx%d: out of DRQs\n", device_xname(sc->sc_dev), slot); #endif return; /* >>> exit here if out of DRQs <<< */ } @@ -3111,7 +3111,7 @@ #ifdef EN_DEBUG printf("%s: rx%d: load mbuf %p, m_len=%d, m_data=%p, tlen=%d\n", - device_xname(&sc->sc_dev), slot, tmp, tmp->m_len, tmp->m_data, tlen); + device_xname(sc->sc_dev), slot, tmp, tmp->m_len, tmp->m_data, tlen); #endif /* copy data */ @@ -3126,7 +3126,7 @@ need -= tlen; #ifdef EN_DEBUG printf("%s: rx%d: vci%d: copied %d bytes (%d left)\n", - device_xname(&sc->sc_dev), slot, vci, tlen, need); + device_xname(sc->sc_dev), slot, vci, tlen, need); #endif continue; } @@ -3136,7 +3136,7 @@ EN_DRQADD(sc, WORD_IDX(start,cur), vci, MIDDMA_JK, 0, 0, 0, 0); #ifdef EN_DEBUG printf("%s: rx%d: vci%d: drq_sync: advance pointer to %d\n", - device_xname(&sc->sc_dev), slot, vci, cur); + device_xname(sc->sc_dev), slot, vci, cur); #endif } @@ -3151,7 +3151,7 @@ EN_WRAPADD(start, stop, cur, tlen); #ifdef EN_DEBUG printf("%s: rx%d: vci%d: adp_dma %d bytes (%d left)\n", - device_xname(&sc->sc_dev), slot, vci, tlen, need); + device_xname(sc->sc_dev), slot, vci, tlen, need); #endif end = (need == 0 && !fill) ? MID_DMA_END : 0; EN_DRQADD(sc, tlen, vci, 0, vtophys((vaddr_t)data), mlen, slot, end); @@ -3186,7 +3186,7 @@ EN_WRAPADD(start, stop, cur, cnt); #ifdef EN_DEBUG printf("%s: rx%d: vci%d: al_dma %d bytes (%d left)\n", - device_xname(&sc->sc_dev), slot, vci, cnt, need); + device_xname(sc->sc_dev), slot, vci, cnt, need); #endif tlen -= cnt; end = (need == 0 && !fill) ? MID_DMA_END : 0; @@ -3205,7 +3205,7 @@ EN_WRAPADD(start, stop, cur, cnt); #ifdef EN_DEBUG printf("%s: rx%d: vci%d: best_dma %d bytes (%d left)\n", - device_xname(&sc->sc_dev), slot, vci, cnt, need); + device_xname(sc->sc_dev), slot, vci, cnt, need); #endif tlen -= cnt; end = (need == 0 && !fill) ? MID_DMA_END : 0; @@ -3224,7 +3224,7 @@ EN_WRAPADD(start, stop, cur, tlen); #ifdef EN_DEBUG printf("%s: rx%d: vci%d: cleanup_dma %d bytes (%d left)\n", - device_xname(&sc->sc_dev), slot, vci, tlen, need); + device_xname(sc->sc_dev), slot, vci, tlen, need); #endif end = (need == 0 && !fill) ? MID_DMA_END : 0; EN_DRQADD(sc, count, vci, bcode, vtophys((vaddr_t)data), mlen, slot, end); @@ -3243,10 +3243,10 @@ #ifdef EN_DEBUG if (fill) printf("%s: rx%d: vci%d: skipping %d bytes of fill\n", - device_xname(&sc->sc_dev), slot, vci, fill); + device_xname(sc->sc_dev), slot, vci, fill); else printf("%s: rx%d: vci%d: syncing chip from 0x%x to 0x%x [cur]\n", - device_xname(&sc->sc_dev), slot, vci, dma, cur); + device_xname(sc->sc_dev), slot, vci, dma, cur); #endif EN_WRAPADD(start, stop, cur, fill); EN_DRQADD(sc, WORD_IDX(start,cur), vci, MIDDMA_JK, 0, mlen, @@ -3276,7 +3276,7 @@ #ifdef EN_DEBUG printf("%s: rx%d: vci%d: DONE! cur now =0x%x\n", - device_xname(&sc->sc_dev), slot, vci, cur); + device_xname(sc->sc_dev), slot, vci, cur); #endif goto same_vci; /* get next packet in this slot */ @@ -3317,7 +3317,7 @@ continue; snprintb(sbuf, sizeof(sbuf), END_BITS, level); - printf("dumping device %s at level 0x%s\n", device_xname(&sc->sc_dev), sbuf); + printf("dumping device %s at level 0x%s\n", device_xname(sc->sc_dev), sbuf); if (sc->dtq_us == 0) { printf("<hasn't been en_init'd yet>\n"); Index: src/sys/dev/ic/midwayvar.h diff -u src/sys/dev/ic/midwayvar.h:1.17 src/sys/dev/ic/midwayvar.h:1.18 --- src/sys/dev/ic/midwayvar.h:1.17 Tue Feb 1 19:50:03 2011 +++ src/sys/dev/ic/midwayvar.h Mon Jul 18 00:58:51 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: midwayvar.h,v 1.17 2011/02/01 19:50:03 chuck Exp $ */ +/* $NetBSD: midwayvar.h,v 1.18 2011/07/18 00:58:51 mrg Exp $ */ /* * Copyright (c) 1996 Charles D. Cranor and Washington University. @@ -100,7 +100,7 @@ struct en_softc { /* bsd glue */ - struct device sc_dev; /* system device */ + device_t sc_dev; /* system device */ struct ifnet enif; /* network ifnet handle */ /* bus glue */ Index: src/sys/dev/pci/if_en_pci.c diff -u src/sys/dev/pci/if_en_pci.c:1.34 src/sys/dev/pci/if_en_pci.c:1.35 --- src/sys/dev/pci/if_en_pci.c:1.34 Tue Feb 1 19:50:03 2011 +++ src/sys/dev/pci/if_en_pci.c Mon Jul 18 00:58:51 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: if_en_pci.c,v 1.34 2011/02/01 19:50:03 chuck Exp $ */ +/* $NetBSD: if_en_pci.c,v 1.35 2011/07/18 00:58:51 mrg Exp $ */ /* * Copyright (c) 1996 Charles D. Cranor and Washington University. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_en_pci.c,v 1.34 2011/02/01 19:50:03 chuck Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_en_pci.c,v 1.35 2011/07/18 00:58:51 mrg Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -61,7 +61,7 @@ struct en_pci_softc { /* bus independent stuff */ - struct en_softc esc; /* includes "device" structure */ + struct en_softc esc; /* PCI bus glue */ void *sc_ih; /* interrupt handle */ @@ -119,7 +119,7 @@ * PCI autoconfig attachments */ -CFATTACH_DECL(en_pci, sizeof(struct en_pci_softc), +CFATTACH_DECL_NEW(en_pci, sizeof(struct en_pci_softc), en_pci_match, en_pci_attach, NULL, NULL); #if !defined(MIDWAY_ENIONLY) @@ -187,6 +187,8 @@ const char *intrstr; int retval; + sc->sc_dev = self; + aprint_naive(": ATM controller\n"); aprint_normal("\n"); @@ -205,19 +207,19 @@ */ if (pci_intr_map(pa, &ih)) { - aprint_error_dev(&sc->sc_dev, "couldn't map interrupt\n"); + aprint_error_dev(sc->sc_dev, "couldn't map interrupt\n"); return; } intrstr = pci_intr_string(scp->en_pc, ih); scp->sc_ih = pci_intr_establish(scp->en_pc, ih, IPL_NET, en_intr, sc); if (scp->sc_ih == NULL) { - aprint_error_dev(&sc->sc_dev, "couldn't establish interrupt\n"); + aprint_error_dev(sc->sc_dev, "couldn't establish interrupt\n"); if (intrstr != NULL) aprint_error(" at %s", intrstr); aprint_error("\n"); return; } - aprint_normal_dev(&sc->sc_dev, "interrupting at %s\n", intrstr); + aprint_normal_dev(sc->sc_dev, "interrupting at %s\n", intrstr); sc->ipl = 1; /* XXX */ /* @@ -228,7 +230,7 @@ PCI_MAPREG_TYPE_MEM | PCI_MAPREG_MEM_TYPE_32BIT, 0, &sc->en_memt, &sc->en_base, NULL, &sc->en_obmemsz); if (retval) { - aprint_error_dev(&sc->sc_dev, "couldn't map memory\n"); + aprint_error_dev(sc->sc_dev, "couldn't map memory\n"); return; } Index: src/sys/dev/sbus/if_en.c diff -u src/sys/dev/sbus/if_en.c:1.28 src/sys/dev/sbus/if_en.c:1.29 --- src/sys/dev/sbus/if_en.c:1.28 Tue Feb 1 19:50:04 2011 +++ src/sys/dev/sbus/if_en.c Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: if_en.c,v 1.28 2011/02/01 19:50:04 chuck Exp $ */ +/* $NetBSD: if_en.c,v 1.29 2011/07/18 00:58:52 mrg Exp $ */ /* * Copyright (c) 1996 Charles D. Cranor and Washington University. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_en.c,v 1.28 2011/02/01 19:50:04 chuck Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_en.c,v 1.29 2011/07/18 00:58:52 mrg Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -58,17 +58,6 @@ /* - * local structures - */ -struct en_sbus_softc { - /* bus independent stuff */ - struct en_softc sc_en; /* includes "device" structure */ - - /* sbus glue */ -}; - - -/* * prototypes */ static int en_sbus_match(device_t, cfdata_t, void *); @@ -78,7 +67,7 @@ * SBus autoconfig attachments */ -CFATTACH_DECL(en_sbus, sizeof(struct en_sbus_softc), +CFATTACH_DECL_NEW(en_sbus, sizeof(struct en_softc), en_sbus_match, en_sbus_attach, NULL, NULL); /***********************************************************************/ @@ -111,8 +100,9 @@ en_sbus_attach(device_t parent, device_t self, void *aux) { struct sbus_attach_args *sa = aux; - struct en_sbus_softc *ssc = device_private(self); - struct en_softc *sc = &ssc->sc_en; + struct en_softc *sc = device_private(self); + + sc->sc_dev = self; printf("\n"); Index: src/sys/dev/sbus/qe.c diff -u src/sys/dev/sbus/qe.c:1.58 src/sys/dev/sbus/qe.c:1.59 --- src/sys/dev/sbus/qe.c:1.58 Mon Apr 5 07:21:47 2010 +++ src/sys/dev/sbus/qe.c Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: qe.c,v 1.58 2010/04/05 07:21:47 joerg Exp $ */ +/* $NetBSD: qe.c,v 1.59 2011/07/18 00:58:52 mrg Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: qe.c,v 1.58 2010/04/05 07:21:47 joerg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: qe.c,v 1.59 2011/07/18 00:58:52 mrg Exp $"); #define QEDEBUG @@ -117,7 +117,7 @@ #include <dev/sbus/qereg.h> struct qe_softc { - struct device sc_dev; /* base device */ + device_t sc_dev; bus_space_tag_t sc_bustag; /* bus & DMA tags */ bus_dma_tag_t sc_dmatag; bus_dmamap_t sc_dmamap; @@ -169,7 +169,7 @@ void qe_ifmedia_sts(struct ifnet *, struct ifmediareq *); int qe_ifmedia_upd(struct ifnet *); -CFATTACH_DECL(qe, sizeof(struct qe_softc), +CFATTACH_DECL_NEW(qe, sizeof(struct qe_softc), qematch, qeattach, NULL, NULL); int @@ -193,6 +193,8 @@ bus_size_t size; int rseg, error; + sc->sc_dev = self; + if (sa->sa_nreg < 2) { printf("%s: only %d register sets\n", device_xname(self), sa->sa_nreg); @@ -542,7 +544,7 @@ { struct qe_softc *sc = ifp->if_softc; - log(LOG_ERR, "%s: device timeout\n", device_xname(&sc->sc_dev)); + log(LOG_ERR, "%s: device timeout\n", device_xname(sc->sc_dev)); ifp->if_oerrors++; qereset(sc); @@ -697,7 +699,7 @@ #ifdef QEDEBUG if (npackets == 0 && sc->sc_debug) printf("%s: rint: no packets; rb index %d; status 0x%x\n", - device_xname(&sc->sc_dev), bix, len); + device_xname(sc->sc_dev), bix, len); #endif sc->sc_rb.rb_rdtail = bix; @@ -712,23 +714,24 @@ qe_eint(struct qe_softc *sc, uint32_t why) { struct ifnet *ifp = &sc->sc_ethercom.ec_if; - device_t self = &sc->sc_dev; + device_t self = sc->sc_dev; + const char *xname = device_xname(self); int r = 0, rst = 0; if (why & QE_CR_STAT_EDEFER) { - printf("%s: excessive tx defers.\n", device_xname(self)); + printf("%s: excessive tx defers.\n", xname); r |= 1; ifp->if_oerrors++; } if (why & QE_CR_STAT_CLOSS) { - printf("%s: no carrier, link down?\n", device_xname(self)); + printf("%s: no carrier, link down?\n", xname); ifp->if_oerrors++; r |= 1; } if (why & QE_CR_STAT_ERETRIES) { - printf("%s: excessive tx retries\n", device_xname(self)); + printf("%s: excessive tx retries\n", xname); ifp->if_oerrors++; r |= 1; rst = 1; @@ -736,26 +739,26 @@ if (why & QE_CR_STAT_LCOLL) { - printf("%s: late tx transmission\n", device_xname(self)); + printf("%s: late tx transmission\n", xname); ifp->if_oerrors++; r |= 1; rst = 1; } if (why & QE_CR_STAT_FUFLOW) { - printf("%s: tx fifo underflow\n", device_xname(self)); + printf("%s: tx fifo underflow\n", xname); ifp->if_oerrors++; r |= 1; rst = 1; } if (why & QE_CR_STAT_JERROR) { - printf("%s: jabber seen\n", device_xname(self)); + printf("%s: jabber seen\n", xname); r |= 1; } if (why & QE_CR_STAT_BERROR) { - printf("%s: babble seen\n", device_xname(self)); + printf("%s: babble seen\n", xname); r |= 1; } @@ -766,27 +769,27 @@ } if (why & QE_CR_STAT_TXDERROR) { - printf("%s: tx descriptor is bad\n", device_xname(self)); + printf("%s: tx descriptor is bad\n", xname); rst = 1; r |= 1; } if (why & QE_CR_STAT_TXLERR) { - printf("%s: tx late error\n", device_xname(self)); + printf("%s: tx late error\n", xname); ifp->if_oerrors++; rst = 1; r |= 1; } if (why & QE_CR_STAT_TXPERR) { - printf("%s: tx DMA parity error\n", device_xname(self)); + printf("%s: tx DMA parity error\n", xname); ifp->if_oerrors++; rst = 1; r |= 1; } if (why & QE_CR_STAT_TXSERR) { - printf("%s: tx DMA sbus error ack\n", device_xname(self)); + printf("%s: tx DMA sbus error ack\n", xname); ifp->if_oerrors++; rst = 1; r |= 1; @@ -809,13 +812,13 @@ } if (why & QE_CR_STAT_RXFOFLOW) { - printf("%s: rx fifo overflow\n", device_xname(self)); + printf("%s: rx fifo overflow\n", xname); ifp->if_ierrors++; r |= 1; } if (why & QE_CR_STAT_RLCOLL) { - printf("%s: rx late collision\n", device_xname(self)); + printf("%s: rx late collision\n", xname); ifp->if_ierrors++; ifp->if_collisions++; r |= 1; @@ -832,34 +835,34 @@ } if (why & QE_CR_STAT_RXDROP) { - printf("%s: rx packet dropped\n", device_xname(self)); + printf("%s: rx packet dropped\n", xname); ifp->if_ierrors++; r |= 1; } if (why & QE_CR_STAT_RXSMALL) { - printf("%s: rx buffer too small\n", device_xname(self)); + printf("%s: rx buffer too small\n", xname); ifp->if_ierrors++; r |= 1; rst = 1; } if (why & QE_CR_STAT_RXLERR) { - printf("%s: rx late error\n", device_xname(self)); + printf("%s: rx late error\n", xname); ifp->if_ierrors++; r |= 1; rst = 1; } if (why & QE_CR_STAT_RXPERR) { - printf("%s: rx DMA parity error\n", device_xname(self)); + printf("%s: rx DMA parity error\n", xname); ifp->if_ierrors++; r |= 1; rst = 1; } if (why & QE_CR_STAT_RXSERR) { - printf("%s: rx DMA sbus error ack\n", device_xname(self)); + printf("%s: rx DMA sbus error ack\n", xname); ifp->if_ierrors++; r |= 1; rst = 1; @@ -870,7 +873,7 @@ why); if (rst) { - printf("%s: resetting...\n", device_xname(self)); + printf("%s: resetting...\n", xname); qereset(sc); return (-1); } Index: src/sys/dev/sbus/sio16.c diff -u src/sys/dev/sbus/sio16.c:1.23 src/sys/dev/sbus/sio16.c:1.24 --- src/sys/dev/sbus/sio16.c:1.23 Fri Sep 18 12:23:16 2009 +++ src/sys/dev/sbus/sio16.c Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: sio16.c,v 1.23 2009/09/18 12:23:16 tsutsui Exp $ */ +/* $NetBSD: sio16.c,v 1.24 2011/07/18 00:58:52 mrg Exp $ */ /* * Copyright (c) 1998, 2001 Matthew R. Green @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sio16.c,v 1.23 2009/09/18 12:23:16 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sio16.c,v 1.24 2011/07/18 00:58:52 mrg Exp $"); #include <sys/param.h> #include <sys/conf.h> @@ -72,7 +72,7 @@ * define the sio16 per-device softc. */ struct sio16_softc { - struct device sc_dev; /* must be first */ + device_t sc_dev; /* sbus information */ bus_space_tag_t sc_tag; /* bus tag for below */ @@ -88,7 +88,7 @@ }; -CFATTACH_DECL(siosixteen, sizeof(struct sio16_softc), +CFATTACH_DECL_NEW(siosixteen, sizeof(struct sio16_softc), sio16_match, sio16_attach, NULL, NULL); struct sio16_attach_args { @@ -130,6 +130,8 @@ char *mode, *model; int i; + sc->sc_dev = self; + if (sa->sa_nreg != 4) panic("sio16_attach: got %d registers intead of 4", sa->sa_nreg); @@ -255,7 +257,7 @@ break; default: panic("%s: sio16_ackfunc: unknown ackfunc %d", - device_xname(&sc->sc_dev), who); + device_xname(sc->sc_dev), who); } return (bus_space_read_1(sc->sc_tag, sc->sc_ack, addr)); } @@ -267,7 +269,7 @@ static int clcd_match(device_t, cfdata_t, void *); static void clcd_attach(device_t, device_t, void *); -CFATTACH_DECL(clcd, sizeof(struct cd18xx_softc), +CFATTACH_DECL_NEW(clcd, sizeof(struct cd18xx_softc), clcd_match, clcd_attach, NULL, NULL); static int Index: src/sys/dev/sbus/spif.c diff -u src/sys/dev/sbus/spif.c:1.27 src/sys/dev/sbus/spif.c:1.28 --- src/sys/dev/sbus/spif.c:1.27 Sat Jul 2 13:21:30 2011 +++ src/sys/dev/sbus/spif.c Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: spif.c,v 1.27 2011/07/02 13:21:30 mrg Exp $ */ +/* $NetBSD: spif.c,v 1.28 2011/07/18 00:58:52 mrg Exp $ */ /* $OpenBSD: spif.c,v 1.12 2003/10/03 16:44:51 miod Exp $ */ /* @@ -41,7 +41,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: spif.c,v 1.27 2011/07/02 13:21:30 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: spif.c,v 1.28 2011/07/18 00:58:52 mrg Exp $"); #include "spif.h" #if NSPIF > 0 @@ -75,13 +75,13 @@ /* Autoconfig stuff */ -CFATTACH_DECL(spif, sizeof(struct spif_softc), +CFATTACH_DECL_NEW(spif, sizeof(struct spif_softc), spif_match, spif_attach, NULL, NULL); -CFATTACH_DECL(stty, sizeof(struct stty_softc), +CFATTACH_DECL_NEW(stty, sizeof(struct stty_softc), stty_match, stty_attach, NULL, NULL); -CFATTACH_DECL(sbpp, sizeof(struct sbpp_softc), +CFATTACH_DECL_NEW(sbpp, sizeof(struct sbpp_softc), sbpp_match, sbpp_attach, NULL, NULL); dev_type_open(stty_open); @@ -156,6 +156,8 @@ struct spif_softc *sc = device_private(self); struct sbus_attach_args *sa = aux; + sc->sc_dev = self; + if (sa->sa_nintr != 2) { printf(": expected %d interrupts, got %d\n", 2, sa->sa_nintr); return; @@ -280,6 +282,7 @@ struct stty_softc *ssc = device_private(dev); int port; + sc->sc_dev = dev; sc->sc_ttys = ssc; for (port = 0; port < sc->sc_nser; port++) { @@ -924,7 +927,7 @@ if (ISSET(flags, STTYF_RING_OVERFLOW)) { log(LOG_WARNING, "%s-%x: ring overflow\n", - device_xname(&stc->sc_dev), i); + device_xname(stc->sc_dev), i); r = 1; } @@ -947,7 +950,7 @@ while (STC_READ(sc, STC_CCR) && tries--) /*EMPTY*/; if (tries == 0) - aprint_error_dev(&sc->sc_dev, "ccr timeout\n"); + aprint_error_dev(sc->sc_dev, "ccr timeout\n"); STC_WRITE(sc, STC_CCR, val); } Index: src/sys/dev/sbus/spifvar.h diff -u src/sys/dev/sbus/spifvar.h:1.3 src/sys/dev/sbus/spifvar.h:1.4 --- src/sys/dev/sbus/spifvar.h:1.3 Thu Sep 17 16:28:12 2009 +++ src/sys/dev/sbus/spifvar.h Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: spifvar.h,v 1.3 2009/09/17 16:28:12 tsutsui Exp $ */ +/* $NetBSD: spifvar.h,v 1.4 2011/07/18 00:58:52 mrg Exp $ */ /* $OpenBSD: spifvar.h,v 1.3 2003/06/02 18:32:41 jason Exp $ */ /* @@ -53,18 +53,17 @@ }; struct stty_softc { - struct device sc_dev; /* base device */ + device_t sc_dev; int sc_nports; /* number of serial ports */ struct stty_port sc_port[SPIF_MAX_SERIAL]; }; struct sbpp_softc { - struct device sc_dev; /* base device */ int sc_nports; /* number of parallel ports */ }; struct spif_softc { - struct device sc_dev; /* base device */ + device_t sc_dev; void *sc_stcih; /* stc interrupt vector */ void *sc_ppcih; /* ppc interrut vector */ void *sc_softih; /* soft interrupt vector */ Index: src/sys/dev/sbus/stp4020.c diff -u src/sys/dev/sbus/stp4020.c:1.64 src/sys/dev/sbus/stp4020.c:1.65 --- src/sys/dev/sbus/stp4020.c:1.64 Sat Sep 19 11:58:06 2009 +++ src/sys/dev/sbus/stp4020.c Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: stp4020.c,v 1.64 2009/09/19 11:58:06 tsutsui Exp $ */ +/* $NetBSD: stp4020.c,v 1.65 2011/07/18 00:58:52 mrg Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: stp4020.c,v 1.64 2009/09/19 11:58:06 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: stp4020.c,v 1.65 2011/07/18 00:58:52 mrg Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -120,7 +120,7 @@ }; struct stp4020_softc { - struct device sc_dev; /* Base device */ + device_t sc_dev; pcmcia_chipset_tag_t sc_pct; /* Chipset methods */ struct lwp *event_thread; /* event handling thread */ @@ -143,7 +143,7 @@ static void stp4020_intr_dispatch(void *arg); #endif -CFATTACH_DECL(nell, sizeof(struct stp4020_softc), +CFATTACH_DECL_NEW(nell, sizeof(struct stp4020_softc), stp4020match, stp4020attach, NULL, NULL); #ifdef STP4020_DEBUG @@ -330,6 +330,8 @@ int rev, i, sbus_intno, hw_ipl; bus_space_handle_t bh; + sc->sc_dev = self; + /* Transfer bus tags */ #ifdef SUN4U tag = sa->sa_bustag; @@ -513,7 +515,7 @@ paa.iobase = 0; paa.iosize = STP4020_WINDOW_SIZE; - h->pcmcia = config_found(&h->sc->sc_dev, &paa, stp4020print); + h->pcmcia = config_found(h->sc->sc_dev, &paa, stp4020print); if (h->pcmcia == NULL) return; @@ -996,14 +998,14 @@ h->int_enable = v; h->int_disable = v & ~STP4020_ICR0_IOIE; #endif - DPRINTF(("%s: configuring card for IO useage\n", device_xname(&h->sc->sc_dev))); + DPRINTF(("%s: configuring card for IO useage\n", device_xname(h->sc->sc_dev))); } else { v |= STP4020_ICR0_IFTYPE_MEM; #ifndef SUN4U h->int_enable = h->int_disable = v; #endif - DPRINTF(("%s: configuring card for IO useage\n", device_xname(&h->sc->sc_dev))); - DPRINTF(("%s: configuring card for MEM ONLY useage\n", device_xname(&h->sc->sc_dev))); + DPRINTF(("%s: configuring card for IO useage\n", device_xname(h->sc->sc_dev))); + DPRINTF(("%s: configuring card for MEM ONLY useage\n", device_xname(h->sc->sc_dev))); } stp4020_wr_sockctl(h, STP4020_ICR0_IDX, v); } Index: src/sys/dev/sbus/xbox.c diff -u src/sys/dev/sbus/xbox.c:1.20 src/sys/dev/sbus/xbox.c:1.21 --- src/sys/dev/sbus/xbox.c:1.20 Fri Sep 18 12:23:16 2009 +++ src/sys/dev/sbus/xbox.c Mon Jul 18 00:58:52 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: xbox.c,v 1.20 2009/09/18 12:23:16 tsutsui Exp $ */ +/* $NetBSD: xbox.c,v 1.21 2011/07/18 00:58:52 mrg Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: xbox.c,v 1.20 2009/09/18 12:23:16 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xbox.c,v 1.21 2011/07/18 00:58:52 mrg Exp $"); #include <sys/param.h> #include <sys/malloc.h> @@ -86,16 +86,15 @@ #define XBOX_NREG 13 struct xbox_softc { - struct device sc_dev; /* base device */ int sc_key; /* this xbox's unique key */ }; /* autoconfiguration driver */ int xbox_match(device_t, cfdata_t, void *); void xbox_attach(device_t, device_t, void *); -int xbox_print( void *, const char *); +int xbox_print(void *, const char *); -CFATTACH_DECL(xbox, sizeof(struct xbox_softc), +CFATTACH_DECL_NEW(xbox, sizeof(struct xbox_softc), xbox_match, xbox_attach, NULL, NULL); int