Module Name: src Committed By: cegger Date: Sun Apr 26 10:07:48 UTC 2009
Modified Files: src/sys/dev/ic: bwi.c bwivar.h src/sys/dev/pci: if_bwi_pci.c Log Message: device_t/softc split To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/dev/ic/bwi.c cvs rdiff -u -r1.3 -r1.4 src/sys/dev/ic/bwivar.h cvs rdiff -u -r1.5 -r1.6 src/sys/dev/pci/if_bwi_pci.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/bwi.c diff -u src/sys/dev/ic/bwi.c:1.9 src/sys/dev/ic/bwi.c:1.10 --- src/sys/dev/ic/bwi.c:1.9 Thu Apr 23 20:24:23 2009 +++ src/sys/dev/ic/bwi.c Sun Apr 26 10:07:48 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: bwi.c,v 1.9 2009/04/23 20:24:23 kefren Exp $ */ +/* $NetBSD: bwi.c,v 1.10 2009/04/26 10:07:48 cegger Exp $ */ /* $OpenBSD: bwi.c,v 1.74 2008/02/25 21:13:30 mglocker Exp $ */ /* @@ -49,7 +49,7 @@ #include "bpfilter.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bwi.c,v 1.9 2009/04/23 20:24:23 kefren Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bwi.c,v 1.10 2009/04/26 10:07:48 cegger Exp $"); #include <sys/param.h> #include <sys/callout.h> @@ -94,7 +94,7 @@ #define DPRINTF(sc, dbg, fmt, ...) \ do { \ if ((sc)->sc_debug & (dbg)) \ - aprint_debug_dev(&(sc)->sc_dev, fmt, ##__VA_ARGS__); \ + aprint_debug_dev((sc)->sc_dev, fmt, ##__VA_ARGS__); \ } while (0) #else /* !BWI_DEBUG */ @@ -657,7 +657,7 @@ goto err; if ((rc = sysctl_createv(clog, 0, &rnode, &rnode, - CTLFLAG_PERMANENT, CTLTYPE_NODE, sc->sc_dev.dv_xname, + CTLFLAG_PERMANENT, CTLTYPE_NODE, device_xname(sc->sc_dev), SYSCTL_DESCR("bwi controls and statistics"), NULL, 0, NULL, 0, CTL_CREATE, CTL_EOL)) != 0) goto err; @@ -718,7 +718,7 @@ uint32_t txrx_intr_status[BWI_TXRX_NRING]; int i, txrx_error, tx = 0, rx_data = -1; - if (!device_is_active(&sc->sc_dev) || + if (!device_is_active(sc->sc_dev) || (ifp->if_flags & IFF_RUNNING) == 0) return (0); @@ -752,7 +752,7 @@ CSR_READ_4(sc, BWI_TXRX_INTR_STATUS(i)) & mask; if (txrx_intr_status[i] & BWI_TXRX_INTR_ERROR) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "intr fatal TX/RX (%d) error 0x%08x\n", i, txrx_intr_status[i]); txrx_error = 1; @@ -772,7 +772,7 @@ if (intr_status & BWI_INTR_PHY_TXERR) { if (mac->mac_flags & BWI_MAC_F_PHYE_RESET) { - aprint_error_dev(&sc->sc_dev, "intr PHY TX error\n"); + aprint_error_dev(sc->sc_dev, "intr PHY TX error\n"); /* XXX to netisr0? */ bwi_init_statechg(sc, 0); return (0); @@ -787,7 +787,7 @@ bwi_mac_config_ps(mac); if (intr_status & BWI_INTR_EO_ATIM) - aprint_normal_dev(&sc->sc_dev, "EO_ATIM\n"); + aprint_normal_dev(sc->sc_dev, "EO_ATIM\n"); if (intr_status & BWI_INTR_PMQ) { for (;;) { @@ -798,7 +798,7 @@ } if (intr_status & BWI_INTR_NOISE) - aprint_normal_dev(&sc->sc_dev, "intr noise\n"); + aprint_normal_dev(sc->sc_dev, "intr noise\n"); if (txrx_intr_status[0] & BWI_TXRX_INTR_RX) rx_data = (sc->sc_rxeof)(sc); @@ -949,7 +949,7 @@ ifp->if_watchdog = bwi_watchdog; ifp->if_stop = bwi_stop; ifp->if_flags = IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST; - memcpy(ifp->if_xname, device_xname(&sc->sc_dev), IFNAMSIZ); + memcpy(ifp->if_xname, device_xname(sc->sc_dev), IFNAMSIZ); IFQ_SET_READY(&ifp->if_snd); /* Get locale */ @@ -991,7 +991,7 @@ if (IEEE80211_IS_MULTICAST(ic->ic_myaddr)) { bwi_get_eaddr(sc, BWI_SPROM_11A_EADDR, ic->ic_myaddr); if (IEEE80211_IS_MULTICAST(ic->ic_myaddr)) - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid MAC address: %s\n", ether_sprintf(ic->ic_myaddr)); } @@ -1277,7 +1277,7 @@ /* Calibrate PHY */ error = bwi_phy_calibrate(mac); if (error) { - aprint_error_dev(&sc->sc_dev, "PHY calibrate failed\n"); + aprint_error_dev(sc->sc_dev, "PHY calibrate failed\n"); return (error); } @@ -1380,7 +1380,7 @@ for (i = 0; i < BWI_TX_NRING; ++i) { error = (sc->sc_init_tx_ring)(sc, i); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't initialize %dth TX ring\n", i); return (error); } @@ -1391,7 +1391,7 @@ */ error = (sc->sc_init_rx_ring)(sc); if (error) { - aprint_error_dev(&sc->sc_dev, "can't initialize RX ring\n"); + aprint_error_dev(sc->sc_dev, "can't initialize RX ring\n"); return (error); } @@ -1401,7 +1401,7 @@ if (mac->mac_flags & BWI_MAC_F_HAS_TXSTATS) { error = (sc->sc_init_txstats)(sc); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't initialize TX stats ring\n"); return (error); } @@ -1517,7 +1517,7 @@ MOBJ_WRITE_4(mac, BWI_COMM_MOBJ, 0, TEST_VAL1); val = MOBJ_READ_4(mac, BWI_COMM_MOBJ, 0); if (val != TEST_VAL1) { - aprint_error_dev(&sc->sc_dev, "TEST1 failed\n"); + aprint_error_dev(sc->sc_dev, "TEST1 failed\n"); return (ENXIO); } @@ -1525,7 +1525,7 @@ MOBJ_WRITE_4(mac, BWI_COMM_MOBJ, 0, TEST_VAL2); val = MOBJ_READ_4(mac, BWI_COMM_MOBJ, 0); if (val != TEST_VAL2) { - aprint_error_dev(&sc->sc_dev, "TEST2 failed\n"); + aprint_error_dev(sc->sc_dev, "TEST2 failed\n"); return (ENXIO); } @@ -1534,14 +1534,14 @@ val = CSR_READ_4(sc, BWI_MAC_STATUS); if ((val & ~BWI_MAC_STATUS_PHYLNK) != BWI_MAC_STATUS_IHREN) { - aprint_error_dev(&sc->sc_dev, "%s failed, MAC status 0x%08x\n", + aprint_error_dev(sc->sc_dev, "%s failed, MAC status 0x%08x\n", __func__, val); return (ENXIO); } val = CSR_READ_4(sc, BWI_MAC_INTR_STATUS); if (val != 0) { - aprint_error_dev(&sc->sc_dev, "%s failed, intr status %08x\n", + aprint_error_dev(sc->sc_dev, "%s failed, intr status %08x\n", __func__, val); return (ENXIO); } @@ -1773,7 +1773,7 @@ "base tssi %d\n", rf->rf_base_tssi); if (abs(rf->rf_base_tssi - rf->rf_idle_tssi) >= 20) { - aprint_error_dev(&sc->sc_dev, "base tssi measure failed\n"); + aprint_error_dev(sc->sc_dev, "base tssi measure failed\n"); mac->mac_flags |= BWI_MAC_F_TPCTL_ERROR; } @@ -1815,7 +1815,7 @@ else if (mac->mac_rev >= 5 && mac->mac_rev <= 20) idx = 5; else { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "no suitable IV for MAC rev %d\n", mac->mac_rev); error = ENODEV; goto fail_iv; @@ -1834,7 +1834,7 @@ else if (mac->mac_rev >= 5 && mac->mac_rev <= 10) idx = 5; else { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "no suitable ExtIV for MAC rev %d\n", mac->mac_rev); error = ENODEV; goto fail_iv_ext; @@ -1891,14 +1891,14 @@ error = firmware_open("bwi", fw_name, &fwh); if (error) { - aprint_error_dev(&sc->sc_dev, "firmware_open failed on %s\n", + aprint_error_dev(sc->sc_dev, "firmware_open failed on %s\n", fw_name); goto fail; } fwi->fwi_size = firmware_get_size(fwh); if (fwi->fwi_size < sizeof(struct bwi_fwhdr)) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "firmware image %s has no header\n", fw_name); error = EIO; @@ -1932,7 +1932,7 @@ */ size_t fw_size = (size_t)be32toh(hdr->fw_size); if (fw_size != fwi->fwi_size - sizeof(*hdr)) { - aprint_error_dev(&sc->sc_dev, "firmware image %s" + aprint_error_dev(sc->sc_dev, "firmware image %s" " size mismatch, fw %zx, real %zx\n", fw_name, fw_size, fwi->fwi_size - sizeof(*hdr)); goto invalid; @@ -1940,14 +1940,14 @@ } if (hdr->fw_type != fw_type) { - aprint_error_dev(&sc->sc_dev, "firmware image %s" + aprint_error_dev(sc->sc_dev, "firmware image %s" " type mismatch, fw `%c', target `%c'\n", fw_name, hdr->fw_type, fw_type); goto invalid; } if (hdr->fw_gen != BWI_FW_GEN_1) { - aprint_error_dev(&sc->sc_dev, "firmware image %s" + aprint_error_dev(sc->sc_dev, "firmware image %s" " generation mismatch, fw %d, target %d\n", fw_name, hdr->fw_gen, BWI_FW_GEN_1); goto invalid; @@ -2043,7 +2043,7 @@ DELAY(10); } if (i == NRETRY) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "timeout loading ucode & pcm firmware\n"); return (ETIMEDOUT); } @@ -2053,12 +2053,12 @@ fw_rev = MOBJ_READ_2(mac, BWI_COMM_MOBJ, BWI_COMM_MOBJ_FWREV); if (fw_rev > BWI_FW_VERSION3_REVMAX) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "firmware version 4 is not supported yet\n"); return (ENODEV); } - aprint_normal_dev(&sc->sc_dev, "firmware rev 0x%04x," + aprint_normal_dev(sc->sc_dev, "firmware rev 0x%04x," " patch level 0x%04x\n", fw_rev, MOBJ_READ_2(mac, BWI_COMM_MOBJ, BWI_COMM_MOBJ_FWPATCHLV)); @@ -2146,7 +2146,7 @@ int sz = 0; if (iv_img_size < sizeof(iv->iv_ofs)) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid IV image, ofs\n"); return (EINVAL); } @@ -2157,7 +2157,7 @@ ofs = __SHIFTOUT(iv_ofs, BWI_FW_IV_OFS_MASK); if (ofs >= 0x1000) { - aprint_error_dev(&sc->sc_dev, "invalid ofs (0x%04x) " + aprint_error_dev(sc->sc_dev, "invalid ofs (0x%04x) " "for %dth iv\n", ofs, i); return (EINVAL); } @@ -2166,7 +2166,7 @@ uint32_t val32; if (iv_img_size < sizeof(iv->iv_val.val32)) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid IV image, val32\n"); return (EINVAL); } @@ -2179,7 +2179,7 @@ uint16_t val16; if (iv_img_size < sizeof(iv->iv_val.val16)) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid IV image, val16\n"); return (EINVAL); } @@ -2194,7 +2194,7 @@ } if (iv_img_size != 0) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid IV image, size left %zx\n", iv_img_size); return (EINVAL); } @@ -2210,14 +2210,14 @@ error = bwi_mac_fw_load_iv(mac, &mac->mac_iv_fwi); if (error) { - aprint_error_dev(&sc->sc_dev, "load IV failed\n"); + aprint_error_dev(sc->sc_dev, "load IV failed\n"); return (error); } if (mac->mac_iv_ext != NULL) { error = bwi_mac_fw_load_iv(mac, &mac->mac_iv_ext_fwi); if (error) - aprint_error_dev(&sc->sc_dev, "load ExtIV failed\n"); + aprint_error_dev(sc->sc_dev, "load ExtIV failed\n"); } return (error); @@ -2455,7 +2455,7 @@ DELAY(1); } if (i == NRETRY) { - aprint_error_dev(&sc->sc_dev, "can't stop MAC\n"); + aprint_error_dev(sc->sc_dev, "can't stop MAC\n"); return (ETIMEDOUT); } #undef NRETRY @@ -2489,7 +2489,7 @@ DELAY(10); } if (i == NRETRY) { - aprint_error_dev(&sc->sc_dev, "config PS failed\n"); + aprint_error_dev(sc->sc_dev, "config PS failed\n"); return (ETIMEDOUT); } #undef NRETRY @@ -2576,7 +2576,7 @@ } if (old_bus_space != 0 && old_bus_space != sc->sc_bus_space) { - aprint_error_dev(&sc->sc_dev, "MACs bus space mismatch!\n"); + aprint_error_dev(sc->sc_dev, "MACs bus space mismatch!\n"); return (ENXIO); } @@ -2610,7 +2610,7 @@ KASSERT(sc->sc_nmac <= BWI_MAC_MAX && sc->sc_nmac >= 0); if (sc->sc_nmac == BWI_MAC_MAX) { - aprint_error_dev(&sc->sc_dev, "too many MACs\n"); + aprint_error_dev(sc->sc_dev, "too many MACs\n"); return (0); } @@ -2628,7 +2628,7 @@ /* XXX will this happen? */ if (BWI_REGWIN_EXIST(&mac->mac_regwin)) { - aprint_error_dev(&sc->sc_dev, "%dth MAC already attached\n", + aprint_error_dev(sc->sc_dev, "%dth MAC already attached\n", sc->sc_nmac); return (0); } @@ -2642,7 +2642,7 @@ break; } if (i == N(bwi_sup_macrev)) { - aprint_error_dev(&sc->sc_dev, "MAC rev %u is not supported\n", + aprint_error_dev(sc->sc_dev, "MAC rev %u is not supported\n", rev); return (ENXIO); } @@ -2658,7 +2658,7 @@ mac->mac_flags |= BWI_MAC_F_PHYE_RESET; } - aprint_normal_dev(&sc->sc_dev, "MAC: rev %u\n", rev); + aprint_normal_dev(sc->sc_dev, "MAC: rev %u\n", rev); return (0); } @@ -2983,7 +2983,7 @@ phyrev = __SHIFTOUT(val, BWI_PHYINFO_REV_MASK); phytype = __SHIFTOUT(val, BWI_PHYINFO_TYPE_MASK); phyver = __SHIFTOUT(val, BWI_PHYINFO_VER_MASK); - aprint_normal_dev(&sc->sc_dev, "PHY type %d, rev %d, ver %d\n", + aprint_normal_dev(sc->sc_dev, "PHY type %d, rev %d, ver %d\n", phytype, phyrev, phyver); /* @@ -2993,7 +2993,7 @@ switch (phytype) { case BWI_PHYINFO_TYPE_11A: if (phyrev >= 4) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "unsupported 11A PHY, rev %u\n", phyrev); return (ENXIO); @@ -3013,7 +3013,7 @@ } } if (i == N(bwi_sup_bphy)) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "unsupported 11B PHY, rev %u\n", phyrev); return (ENXIO); @@ -3023,7 +3023,7 @@ break; case BWI_PHYINFO_TYPE_11G: if (phyrev > 8) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "unsupported 11G PHY, rev %u\n", phyrev); return (ENXIO); @@ -3035,7 +3035,7 @@ phy->phy_tbl_data_hi = BWI_PHYR_TBL_DATA_HI_11G; break; default: - aprint_error_dev(&sc->sc_dev, "unsupported PHY type %d\n", + aprint_error_dev(sc->sc_dev, "unsupported PHY type %d\n", phytype); return (ENXIO); } @@ -3251,7 +3251,7 @@ sc = mac->mac_sc; /* TODO: 11B */ - aprint_error_dev(&sc->sc_dev, "%s is not implemented yet\n", __func__); + aprint_error_dev(sc->sc_dev, "%s is not implemented yet\n", __func__); } static void @@ -3941,7 +3941,7 @@ type = __SHIFTOUT(val, BWI_RFINFO_TYPE_MASK); rev = __SHIFTOUT(val, BWI_RFINFO_REV_MASK); } - aprint_normal_dev(&sc->sc_dev, "RF manu 0x%03x, type 0x%04x, rev %u\n", + aprint_normal_dev(sc->sc_dev, "RF manu 0x%03x, type 0x%04x, rev %u\n", manu, type, rev); /* @@ -3954,7 +3954,7 @@ if (manu != BWI_RF_MANUFACT_BCM || type != BWI_RF_T_BCM2060 || rev != 1) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "only BCM2060 rev 1 RF is supported for" " 11A PHY\n"); return (ENXIO); @@ -3972,7 +3972,7 @@ rf->rf_ctrl_adj = 1; rf->rf_calc_rssi = bwi_rf_calc_rssi_bcm2053; } else { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "only BCM2050/BCM2053 RF is supported for" " 11B phy\n"); return (ENXIO); @@ -3988,7 +3988,7 @@ break; case IEEE80211_MODE_11G: if (type != BWI_RF_T_BCM2050) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "only BCM2050 RF is supported for" " 11G PHY\n"); return (ENXIO); @@ -4005,7 +4005,7 @@ rf->rf_lo_update = bwi_rf_lo_update_11g; break; default: - aprint_error_dev(&sc->sc_dev, "unsupported PHY mode\n"); + aprint_error_dev(sc->sc_dev, "unsupported PHY mode\n"); return (ENXIO); } @@ -4249,7 +4249,7 @@ struct bwi_rf *rf = &mac->mac_rf; if (chan == IEEE80211_CHAN_ANY) { - aprint_error_dev(&sc->sc_dev, "%s invalid channel!\n", + aprint_error_dev(sc->sc_dev, "%s invalid channel!\n", __func__); return; } @@ -4788,7 +4788,7 @@ rf->rf_txpower_max -= 3; } if (rf->rf_txpower_max <= 0) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid max txpower in sprom\n"); rf->rf_txpower_max = 74; } @@ -4807,7 +4807,7 @@ ant_gain = __SHIFTOUT(val, BWI_SPROM_ANT_GAIN_MASK_11BG); if (ant_gain == 0xff) { /* XXX why this always invalid? */ - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "invalid antenna gain in sprom\n"); ant_gain = 2; } @@ -4860,7 +4860,7 @@ const int8_t *txpower_map; if (phy->phy_mode == IEEE80211_MODE_11A) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "no tssi2dbm table for 11a PHY\n"); return (ENXIO); } @@ -4918,7 +4918,7 @@ error = bwi_rf_calc_txpower(&rf->rf_txpower_map0[i], i, pa_params); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "bwi_rf_calc_txpower failed\n"); break; } @@ -4927,7 +4927,7 @@ if (i % 8 == 0) { if (i != 0) aprint_debug("\n"); - aprint_debug_dev(&sc->sc_dev, ""); + aprint_debug_dev(sc->sc_dev, ""); } aprint_debug(" %d", rf->rf_txpower_map0[i]); } @@ -6490,7 +6490,7 @@ if (sc->sc_cur_regwin != rw) { error = bwi_regwin_select(sc, rw->rw_id); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't select regwin %d\n", rw->rw_id); return (error); } @@ -6763,7 +6763,7 @@ */ error = bwi_regwin_select(sc, 0); if (error) { - aprint_error_dev(&sc->sc_dev, "can't select regwin 0\n"); + aprint_error_dev(sc->sc_dev, "can't select regwin 0\n"); return (error); } bwi_regwin_info(sc, &rw_type, &rw_rev); @@ -6792,7 +6792,7 @@ } } if (bbp_id == 0) { - aprint_error_dev(&sc->sc_dev, "no BBP id for device id" + aprint_error_dev(sc->sc_dev, "no BBP id for device id" " 0x%04x\n", did); return (ENXIO); } @@ -6815,7 +6815,7 @@ } } if (nregwin == 0) { - aprint_error_dev(&sc->sc_dev, "no number of win for" + aprint_error_dev(sc->sc_dev, "no number of win for" " BBP id 0x%04x\n", bbp_id); return (ENXIO); } @@ -6825,7 +6825,7 @@ sc->sc_bbp_id = bbp_id; sc->sc_bbp_rev = __SHIFTOUT(info, BWI_INFO_BBPREV_MASK); sc->sc_bbp_pkg = __SHIFTOUT(info, BWI_INFO_BBPPKG_MASK); - aprint_normal_dev(&sc->sc_dev, + aprint_normal_dev(sc->sc_dev, "BBP id 0x%04x, BBP rev 0x%x, BBP pkg %d\n", sc->sc_bbp_id, sc->sc_bbp_rev, sc->sc_bbp_pkg); DPRINTF(sc, BWI_DBG_ATTACH, "nregwin %d, cap 0x%08x\n", @@ -6844,7 +6844,7 @@ */ error = bwi_regwin_select(sc, i); if (error) { - aprint_error_dev(&sc->sc_dev, "can't select regwin" + aprint_error_dev(sc->sc_dev, "can't select regwin" " %d\n", i); return (error); } @@ -6859,7 +6859,7 @@ if (rw_type == BWI_REGWIN_T_BUSPCI || rw_type == BWI_REGWIN_T_BUSPCIE) { if (BWI_REGWIN_EXIST(&sc->sc_bus_regwin)) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "bus regwin already exists\n"); } else { BWI_CREATE_REGWIN(&sc->sc_bus_regwin, i, @@ -6873,14 +6873,14 @@ /* At least one MAC shold exist */ if (!BWI_REGWIN_EXIST(&sc->sc_mac[0].mac_regwin)) { - aprint_error_dev(&sc->sc_dev, "no MAC was found\n"); + aprint_error_dev(sc->sc_dev, "no MAC was found\n"); return (ENXIO); } KASSERT(sc->sc_nmac > 0); /* Bus regwin must exist */ if (!BWI_REGWIN_EXIST(&sc->sc_bus_regwin)) { - aprint_error_dev(&sc->sc_dev, "no bus regwin was found\n"); + aprint_error_dev(sc->sc_dev, "no bus regwin was found\n"); return (ENXIO); } @@ -7239,7 +7239,7 @@ CSR_READ_4(sc, BWI_TXSTATUS_1); } if (i == NRETRY) - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't drain TX status\n"); #undef NRETRY } @@ -7286,7 +7286,7 @@ int s, error = 0; /* [TRC: XXX Superstitiously cargo-culted from wi(4).] */ - if (!device_is_active(&sc->sc_dev)) + if (!device_is_active(sc->sc_dev)) return (ENXIO); s = splnet(); @@ -7521,12 +7521,12 @@ ifp->if_timer = 0; if ((ifp->if_flags & IFF_RUNNING) == 0 || - !device_is_active(&sc->sc_dev)) + !device_is_active(sc->sc_dev)) return; if (sc->sc_tx_timer) { if (--sc->sc_tx_timer == 0) { - aprint_error_dev(&sc->sc_dev, "device timeout\n"); + aprint_error_dev(sc->sc_dev, "device timeout\n"); ifp->if_oerrors++; /* TODO */ /* [TRC: XXX TODO what? Stop the device? @@ -7623,7 +7623,7 @@ /* [TRC: XXX What channel do we set this to? */ error = bwi_set_chan(sc, ic->ic_curchan); if (error) { - aprint_error_dev(&sc->sc_dev, "can't set channel to %u\n", + aprint_error_dev(sc->sc_dev, "can't set channel to %u\n", ieee80211_chan2ieee(ic, ic->ic_curchan)); return (error); } @@ -7821,14 +7821,14 @@ tx_ring_sz, 0, BUS_DMA_NOWAIT, &sc->sc_tx_rdata[i].rdata_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "%dth TX ring DMA create failed\n", i); return (error); } error = bwi_dma_ring_alloc(sc, &sc->sc_tx_rdata[i], tx_ring_sz, TXRX_CTRL(i)); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "%dth TX ring DMA alloc failed\n", i); return (error); } @@ -7841,21 +7841,21 @@ rx_ring_sz, 0, BUS_DMA_NOWAIT, &sc->sc_rx_rdata.rdata_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, "RX ring DMA create failed\n"); + aprint_error_dev(sc->sc_dev, "RX ring DMA create failed\n"); return (error); } error = bwi_dma_ring_alloc(sc, &sc->sc_rx_rdata, rx_ring_sz, TXRX_CTRL(0)); if (error) { - aprint_error_dev(&sc->sc_dev, "RX ring DMA alloc failed\n"); + aprint_error_dev(sc->sc_dev, "RX ring DMA alloc failed\n"); return (error); } if (has_txstats) { error = bwi_dma_txstats_alloc(sc, TXRX_CTRL(3), desc_sz); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "TX stats DMA alloc failed\n"); return (error); } @@ -7896,21 +7896,21 @@ error = bus_dmamem_alloc(sc->sc_dmat, size, BWI_ALIGN, 0, &rd->rdata_seg, 1, &nsegs, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, "can't allocate DMA mem\n"); + aprint_error_dev(sc->sc_dev, "can't allocate DMA mem\n"); return (error); } error = bus_dmamem_map(sc->sc_dmat, &rd->rdata_seg, nsegs, size, (void **)&rd->rdata_desc, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, "can't map DMA mem\n"); + aprint_error_dev(sc->sc_dev, "can't map DMA mem\n"); return (error); } error = bus_dmamap_load(sc->sc_dmat, rd->rdata_dmap, rd->rdata_desc, size, NULL, BUS_DMA_WAITOK); if (error) { - aprint_error_dev(&sc->sc_dev, "can't load DMA mem\n"); + aprint_error_dev(sc->sc_dev, "can't load DMA mem\n"); bus_dmamem_free(sc->sc_dmat, &rd->rdata_seg, nsegs); rd->rdata_desc = NULL; return (error); @@ -7941,7 +7941,7 @@ error = bus_dmamap_create(sc->sc_dmat, dma_size, 1, dma_size, 0, BUS_DMA_NOWAIT, &st->stats_ring_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't create txstats ring DMA mem\n"); return (error); } @@ -7954,7 +7954,7 @@ error = bus_dmamap_create(sc->sc_dmat, dma_size, 1, dma_size, 0, BUS_DMA_NOWAIT, &st->stats_ring_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't create txstats ring DMA mem\n"); return (error); } @@ -7962,7 +7962,7 @@ error = bus_dmamem_alloc(sc->sc_dmat, dma_size, BWI_RING_ALIGN, 0, &st->stats_ring_seg, 1, &nsegs, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't allocate txstats ring DMA mem\n"); return (error); } @@ -7970,7 +7970,7 @@ error = bus_dmamem_map(sc->sc_dmat, &st->stats_ring_seg, nsegs, dma_size, (void **)&st->stats_ring, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't map txstats ring DMA mem\n"); return (error); } @@ -7978,7 +7978,7 @@ error = bus_dmamap_load(sc->sc_dmat, st->stats_ring_dmap, st->stats_ring, dma_size, NULL, BUS_DMA_WAITOK); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't load txstats ring DMA mem\n"); bus_dmamem_free(sc->sc_dmat, &st->stats_ring_seg, nsegs); return (error); @@ -7996,7 +7996,7 @@ error = bus_dmamap_create(sc->sc_dmat, dma_size, 1, dma_size, 0, BUS_DMA_NOWAIT, &st->stats_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't create txstats ring DMA mem\n"); return (error); } @@ -8004,7 +8004,7 @@ error = bus_dmamem_alloc(sc->sc_dmat, dma_size, BWI_ALIGN, 0, &st->stats_seg, 1, &nsegs, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't allocate txstats DMA mem\n"); return (error); } @@ -8012,14 +8012,14 @@ error = bus_dmamem_map(sc->sc_dmat, &st->stats_seg, nsegs, dma_size, (void **)&st->stats, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, "can't map txstats DMA mem\n"); + aprint_error_dev(sc->sc_dev, "can't map txstats DMA mem\n"); return (error); } error = bus_dmamap_load(sc->sc_dmat, st->stats_dmap, st->stats, dma_size, NULL, BUS_DMA_WAITOK); if (error) { - aprint_error_dev(&sc->sc_dev, "can't load txstats DMA mem\n"); + aprint_error_dev(sc->sc_dev, "can't load txstats DMA mem\n"); bus_dmamem_free(sc->sc_dmat, &st->stats_seg, nsegs); return (error); } @@ -8067,7 +8067,7 @@ error = bus_dmamap_create(sc->sc_dmat, MCLBYTES, 1, MCLBYTES, 0, BUS_DMA_NOWAIT, &tbd->tbd_buf[j].tb_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't create %dth tbd, %dth DMA map\n", i, j); ntx = i; @@ -8087,7 +8087,7 @@ error = bus_dmamap_create(sc->sc_dmat, MCLBYTES, 1, MCLBYTES, 0, BUS_DMA_NOWAIT, &rbd->rbd_tmp_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't create spare RX buf DMA map\n"); goto fail; } @@ -8096,7 +8096,7 @@ error = bus_dmamap_create(sc->sc_dmat, MCLBYTES, 1, MCLBYTES, 0, BUS_DMA_NOWAIT, &rbd->rbd_buf[j].rb_dmap); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't create %dth RX buf DMA map\n", j); for (k = 0; k < j; ++k) { @@ -8234,7 +8234,7 @@ for (i = 0; i < BWI_RX_NDESC; ++i) { error = bwi_newbuf(sc, i, 1); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't allocate %dth RX buffer\n", i); return (error); } @@ -8502,7 +8502,7 @@ buflen = le16toh(hdr->rxh_buflen); if (buflen < BWI_FRAME_MIN_LEN(wh_ofs)) { - aprint_error_dev(&sc->sc_dev, "short frame %d," + aprint_error_dev(sc->sc_dev, "short frame %d," " hdr_extra %d\n", buflen, hdr_extra); ifp->if_ierrors++; m_freem(m); @@ -8619,7 +8619,7 @@ DELAY(1000); } if (i == NRETRY) - aprint_error_dev(&sc->sc_dev, "reset rx ring timedout\n"); + aprint_error_dev(sc->sc_dev, "reset rx ring timedout\n"); #undef NRETRY CSR_WRITE_4(sc, rx_ctrl + BWI_RX32_RINGINFO, 0); @@ -8675,7 +8675,7 @@ DELAY(1000); } if (i == NRETRY) - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "wait for TX ring(%d) stable timed out\n", ring_idx); CSR_WRITE_4(sc, rd->rdata_txrx_ctrl + BWI_TX32_CTRL, 0); @@ -8688,7 +8688,7 @@ DELAY(1000); } if (i == NRETRY) - aprint_error_dev(&sc->sc_dev, "reset TX ring (%d) timed out\n", + aprint_error_dev(sc->sc_dev, "reset TX ring (%d) timed out\n", ring_idx); #undef NRETRY @@ -9093,7 +9093,7 @@ /* [TRC: XXX Check fallback rate.] */ if (rate == 0) { - aprint_error_dev(&sc->sc_dev, "invalid rate %u", rate); + aprint_error_dev(sc->sc_dev, "invalid rate %u", rate); /* [TRC: In the margin of the following line, DragonFlyBSD writes `Force 1Mbits/s', whereas OpenBSD writes `Force 1Mbytes/s'.] */ @@ -9130,7 +9130,7 @@ */ M_PREPEND(m, sizeof(*hdr), M_DONTWAIT); if (m == NULL) { - aprint_error_dev(&sc->sc_dev, "prepend TX header failed\n"); + aprint_error_dev(sc->sc_dev, "prepend TX header failed\n"); return (ENOBUFS); } hdr = mtod(m, struct bwi_txbuf_hdr *); @@ -9184,7 +9184,7 @@ error = bus_dmamap_load_mbuf(sc->sc_dmat, tb->tb_dmap, m, BUS_DMA_NOWAIT); if (error && error != EFBIG) { - aprint_error_dev(&sc->sc_dev, "can't load TX buffer (1) %d\n", + aprint_error_dev(sc->sc_dev, "can't load TX buffer (1) %d\n", error); goto back; } @@ -9198,7 +9198,7 @@ if (m_new == NULL) { m_freem(m); error = ENOBUFS; - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't defrag TX buffer (1)\n"); goto back; } @@ -9214,7 +9214,7 @@ } if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't defrag TX buffer (2)\n"); goto back; } @@ -9227,7 +9227,7 @@ error = bus_dmamap_load_mbuf(sc->sc_dmat, tb->tb_dmap, m, BUS_DMA_NOWAIT); if (error) { - aprint_error_dev(&sc->sc_dev, + aprint_error_dev(sc->sc_dev, "can't load TX buffer (2) %d\n", error); goto back; } @@ -9252,7 +9252,7 @@ if (i % 8 == 0) { if (i != 0) aprint_debug("\n"); - aprint_debug_dev(&sc->sc_dev, ""); + aprint_debug_dev(sc->sc_dev, ""); } aprint_debug(" %02x", p[i]); } @@ -9329,7 +9329,7 @@ if (tx_id == 0) { /* [TRC: XXX What is the severity of this message?] */ - aprint_normal_dev(&sc->sc_dev, "zero tx id\n"); + aprint_normal_dev(sc->sc_dev, "zero tx id\n"); return; } @@ -9565,7 +9565,7 @@ DELAY(10); } if (i == NRETRY) { - aprint_error_dev(&sc->sc_dev, "%s disable clock timeout\n", + aprint_error_dev(sc->sc_dev, "%s disable clock timeout\n", bwi_regwin_name(rw)); } @@ -9578,7 +9578,7 @@ DELAY(10); } if (i == NRETRY) { - aprint_error_dev(&sc->sc_dev, "%s wait BUSY unset timeout\n", + aprint_error_dev(sc->sc_dev, "%s wait BUSY unset timeout\n", bwi_regwin_name(rw)); } #undef NRETRY Index: src/sys/dev/ic/bwivar.h diff -u src/sys/dev/ic/bwivar.h:1.3 src/sys/dev/ic/bwivar.h:1.4 --- src/sys/dev/ic/bwivar.h:1.3 Thu Apr 23 20:24:23 2009 +++ src/sys/dev/ic/bwivar.h Sun Apr 26 10:07:48 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: bwivar.h,v 1.3 2009/04/23 20:24:23 kefren Exp $ */ +/* $NetBSD: bwivar.h,v 1.4 2009/04/26 10:07:48 cegger Exp $ */ /* $OpenBSD: bwivar.h,v 1.23 2008/02/25 20:36:54 mglocker Exp $ */ /* @@ -523,7 +523,7 @@ }; struct bwi_softc { - struct device sc_dev; + device_t sc_dev; struct ethercom sc_ec; struct ieee80211com sc_ic; #define sc_if sc_ec.ec_if Index: src/sys/dev/pci/if_bwi_pci.c diff -u src/sys/dev/pci/if_bwi_pci.c:1.5 src/sys/dev/pci/if_bwi_pci.c:1.6 --- src/sys/dev/pci/if_bwi_pci.c:1.5 Sun Apr 26 09:56:46 2009 +++ src/sys/dev/pci/if_bwi_pci.c Sun Apr 26 10:07:48 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bwi_pci.c,v 1.5 2009/04/26 09:56:46 cegger Exp $ */ +/* $NetBSD: if_bwi_pci.c,v 1.6 2009/04/26 10:07:48 cegger Exp $ */ /* $OpenBSD: if_bwi_pci.c,v 1.6 2008/02/14 22:10:02 brad Exp $ */ /* @@ -25,7 +25,7 @@ #include "bpfilter.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bwi_pci.c,v 1.5 2009/04/26 09:56:46 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bwi_pci.c,v 1.6 2009/04/26 10:07:48 cegger Exp $"); #include <sys/param.h> #include <sys/callout.h> @@ -72,7 +72,7 @@ bus_size_t psc_mapsize; }; -CFATTACH_DECL(bwi_pci, sizeof(struct bwi_pci_softc), +CFATTACH_DECL_NEW(bwi_pci, sizeof(struct bwi_pci_softc), bwi_pci_match, bwi_pci_attach, bwi_pci_detach, NULL); static int @@ -112,6 +112,7 @@ pci_intr_handle_t ih; pcireg_t memtype, reg; + sc->sc_dev = self; sc->sc_dmat = pa->pa_dmat; psc->psc_pc = pa->pa_pc; psc->psc_pcitag = pa->pa_tag;