brcms_c_statsupd(wlc);
 
        /* reset our snapshot of macstat counters */
-       memset((char *)wlc->core->macstat_snapshot, 0,
-               sizeof(struct macstat));
+       memset(wlc->core->macstat_snapshot, 0, sizeof(struct macstat));
 
        brcms_b_reset(wlc->hw);
 }
                return;
        }
 
-       memset((char *)&acp_shm, 0, sizeof(struct shm_acparams));
+       memset(&acp_shm, 0, sizeof(struct shm_acparams));
        /* fill in shm ac params struct */
        acp_shm.txop = params->txop;
        /* convert from units of 32us to us for ucode */
        struct brcms_bss_info *bi = wlc->default_bss;
 
        /* init default and target BSS with some sane initial values */
-       memset((char *)(bi), 0, sizeof(struct brcms_bss_info));
+       memset(bi, 0, sizeof(*bi));
        bi->beacon_period = BEACON_INTERVAL_DEFAULT;
 
        /* fill the default channel as the first valid channel
                brcms_c_protection_upd(wlc, BRCMS_PROT_G_USER, gmode);
 
        /* Clear rateset override */
-       memset(&rs, 0, sizeof(struct brcms_c_rateset));
+       memset(&rs, 0, sizeof(rs));
 
        switch (gmode) {
        case GMODE_LEGACY_B:
        if (rs->count > BRCMS_NUMRATES)
                return -ENOBUFS;
 
-       memset(&internal_rs, 0, sizeof(struct brcms_c_rateset));
+       memset(&internal_rs, 0, sizeof(internal_rs));
 
        /* Copy only legacy rateset section */
        internal_rs.count = rs->count;
        for (i = 0; i < BRCMS_MAXMODULES; i++) {
                if (!strcmp(wlc->modulecb[i].name, name) &&
                    (wlc->modulecb[i].hdl == hdl)) {
-                       memset(&wlc->modulecb[i], 0, sizeof(struct modulecb));
+                       memset(&wlc->modulecb[i], 0, sizeof(wlc->modulecb[i]));
                        return 0;
                }
        }
                                        (struct ofdm_phy_hdr *) rts_plcp) :
                                rts_plcp[0]) << 8;
        } else {
-               memset((char *)txh->RTSPhyHeader, 0, D11_PHY_HDR_LEN);
-               memset((char *)&txh->rts_frame, 0,
-                       sizeof(struct ieee80211_rts));
-               memset((char *)txh->RTSPLCPFallback, 0,
-                     sizeof(txh->RTSPLCPFallback));
+               memset(txh->RTSPhyHeader, 0, D11_PHY_HDR_LEN);
+               memset(&txh->rts_frame, 0, sizeof(struct ieee80211_rts));
+               memset(txh->RTSPLCPFallback, 0, sizeof(txh->RTSPLCPFallback));
                txh->RTSDurFallback = 0;
        }
 
        *len = hdr_len + body_len;
 
        /* format PHY and MAC headers */
-       memset((char *)buf, 0, hdr_len);
+       memset(buf, 0, hdr_len);
 
        plcp = (struct cck_phy_hdr *) buf;