brcmfmac: use brcmf_get_ifp() to map ifidx to struct brcmf_if instance
authorArend van Spriel <arend@broadcom.com>
Wed, 26 Aug 2015 20:14:58 +0000 (22:14 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 29 Sep 2015 07:28:40 +0000 (10:28 +0300)
The knowledge on how to map the interface index to a struct brcmf_if
instance is in brcmf_get_ifp() so use that function when only the
interface index is known instead of accessing brcmf_pub::iflist
directly.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/brcm80211/brcmfmac/btcoex.c
drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
drivers/net/wireless/brcm80211/brcmfmac/feature.c
drivers/net/wireless/brcm80211/brcmfmac/flowring.c
drivers/net/wireless/brcm80211/brcmfmac/fweh.c
drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c

index 0445163991b72cf34e78b353825b6505e3775dd1..4e33f96b3dd1b98e638e647a14595e30201e08a0 100644 (file)
@@ -149,7 +149,7 @@ static s32 brcmf_btcoex_params_read(struct brcmf_if *ifp, u32 addr, u32 *data)
 static void brcmf_btcoex_boost_wifi(struct brcmf_btcoex_info *btci,
                                    bool trump_sco)
 {
-       struct brcmf_if *ifp = btci->cfg->pub->iflist[0];
+       struct brcmf_if *ifp = brcmf_get_ifp(btci->cfg->pub, 0);
 
        if (trump_sco && !btci->saved_regs_part2) {
                /* this should reduce eSCO agressive
@@ -468,7 +468,7 @@ int brcmf_btcoex_set_mode(struct brcmf_cfg80211_vif *vif,
 {
        struct brcmf_cfg80211_info *cfg = wiphy_priv(vif->wdev.wiphy);
        struct brcmf_btcoex_info *btci = cfg->btcoex;
-       struct brcmf_if *ifp = cfg->pub->iflist[0];
+       struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0);
 
        switch (mode) {
        case BRCMF_BTCOEX_DISABLED:
index 0c29bf61bb82cb7f17e372def131636c6a0e7072..cee9ff46626e984d74291c96bd953a9f7e18093c 100644 (file)
@@ -6213,7 +6213,7 @@ static void brcmf_free_wiphy(struct wiphy *wiphy)
 struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
                                                  struct device *busdev)
 {
-       struct net_device *ndev = drvr->iflist[0]->ndev;
+       struct net_device *ndev = brcmf_get_ifp(drvr, 0)->ndev;
        struct brcmf_cfg80211_info *cfg;
        struct wiphy *wiphy;
        struct brcmf_cfg80211_vif *vif;
index 1e94e94e01dc91c829e45f2efd16559e494e086f..7c2135faaf8263db7397a81c739a55877688b618 100644 (file)
@@ -121,7 +121,7 @@ static void brcmf_feat_iovar_int_set(struct brcmf_if *ifp,
 
 void brcmf_feat_attach(struct brcmf_pub *drvr)
 {
-       struct brcmf_if *ifp = drvr->iflist[0];
+       struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
 
        brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_MCHAN, "mchan");
        brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_PNO, "pfn");
index 8d1ab4ab5be809ca8fab1a4e37a31f1af8538391..2ca783fa50cfc71b5556ddf731186af4704a3e63 100644 (file)
@@ -221,7 +221,7 @@ static void brcmf_flowring_block(struct brcmf_flowring *flow, u8 flowid,
 
        bus_if = dev_get_drvdata(flow->dev);
        drvr = bus_if->drvr;
-       ifp = drvr->iflist[ifidx];
+       ifp = brcmf_get_ifp(drvr, ifidx);
        brcmf_txflowblock_if(ifp, BRCMF_NETIF_STOP_REASON_FLOW, blocked);
 
        spin_unlock_irqrestore(&flow->block_lock, flags);
index 1afaf97aebf7a39864a96f3577a49c80efbf198f..3330f30be8ef634b124dc85b9fd81483ab91e145 100644 (file)
@@ -334,7 +334,7 @@ void brcmf_fweh_attach(struct brcmf_pub *drvr)
 void brcmf_fweh_detach(struct brcmf_pub *drvr)
 {
        struct brcmf_fweh_info *fweh = &drvr->fweh;
-       struct brcmf_if *ifp = drvr->iflist[0];
+       struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
        s8 eventmask[BRCMF_EVENTING_MASK_LEN];
 
        if (ifp) {
index fd438739a91ece169096c31dbea371284bbf9194..0c80c858462fae4fb752f9b725bd3c95ce10b819 100644 (file)
@@ -972,7 +972,7 @@ static void
 brcmf_fws_flow_control_check(struct brcmf_fws_info *fws, struct pktq *pq,
                             u8 if_id)
 {
-       struct brcmf_if *ifp = fws->drvr->iflist[!if_id ? 0 : if_id + 1];
+       struct brcmf_if *ifp = brcmf_get_ifp(fws->drvr, if_id);
 
        if (WARN_ON(!ifp))
                return;
@@ -2118,6 +2118,7 @@ static int brcmf_debugfs_fws_stats_read(struct seq_file *seq, void *data)
 int brcmf_fws_init(struct brcmf_pub *drvr)
 {
        struct brcmf_fws_info *fws;
+       struct brcmf_if *ifp;
        u32 tlv = BRCMF_FWS_FLAGS_RSSI_SIGNALS;
        int rc;
        u32 mode;
@@ -2177,21 +2178,22 @@ int brcmf_fws_init(struct brcmf_pub *drvr)
         * continue. Set mode back to none indicating not enabled.
         */
        fws->fw_signals = true;
-       if (brcmf_fil_iovar_int_set(drvr->iflist[0], "tlv", tlv)) {
+       ifp = brcmf_get_ifp(drvr, 0);
+       if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) {
                brcmf_err("failed to set bdcv2 tlv signaling\n");
                fws->fcmode = BRCMF_FWS_FCMODE_NONE;
                fws->fw_signals = false;
        }
 
-       if (brcmf_fil_iovar_int_set(drvr->iflist[0], "ampdu_hostreorder", 1))
+       if (brcmf_fil_iovar_int_set(ifp, "ampdu_hostreorder", 1))
                brcmf_dbg(INFO, "enabling AMPDU host-reorder failed\n");
 
        /* Enable seq number reuse, if supported */
-       if (brcmf_fil_iovar_int_get(drvr->iflist[0], "wlfc_mode", &mode) == 0) {
+       if (brcmf_fil_iovar_int_get(ifp, "wlfc_mode", &mode) == 0) {
                if (BRCMF_FWS_MODE_GET_REUSESEQ(mode)) {
                        mode = 0;
                        BRCMF_FWS_MODE_SET_REUSESEQ(mode, 1);
-                       if (brcmf_fil_iovar_int_set(drvr->iflist[0],
+                       if (brcmf_fil_iovar_int_set(ifp,
                                                    "wlfc_mode", mode) == 0) {
                                BRCMF_FWS_MODE_SET_REUSESEQ(fws->mode, 1);
                        }