Lines Matching refs:drvr

68 char *brcmf_ifname(struct brcmf_pub *drvr, int ifidx)
75 if (drvr->iflist[ifidx] == NULL) {
80 if (drvr->iflist[ifidx]->ndev)
81 return drvr->iflist[ifidx]->ndev->name;
194 struct brcmf_pub *drvr = ifp->drvr;
200 if (drvr->bus_if->state != BRCMF_BUS_DATA) {
201 brcmf_err("xmit rejected state=%d\n", drvr->bus_if->state);
208 if (!drvr->iflist[ifp->bssidx]) {
217 if (skb_headroom(skb) < drvr->hdrlen) {
221 brcmf_ifname(drvr, ifp->bssidx));
222 drvr->bus_if->tx_realloc++;
223 skb2 = skb_realloc_headroom(skb, drvr->hdrlen);
228 brcmf_ifname(drvr, ifp->bssidx));
285 struct brcmf_pub *drvr = bus_if->drvr;
289 brcmf_fws_bus_blocked(drvr, state);
301 brcmf_fweh_process_skb(ifp->drvr, skb);
366 rfi = ifp->drvr->reorder_flows[flow_id];
383 ifp->drvr->reorder_flows[flow_id] = NULL;
403 ifp->drvr->reorder_flows[flow_id] = rfi;
521 struct brcmf_pub *drvr = bus_if->drvr;
529 ret = brcmf_proto_hdrpull(drvr, true, &ifidx, skb);
530 ifp = drvr->iflist[ifidx];
546 void brcmf_txfinalize(struct brcmf_pub *drvr, struct sk_buff *txp, u8 ifidx,
553 ifp = drvr->iflist[ifidx];
575 struct brcmf_pub *drvr = bus_if->drvr;
579 if (brcmf_fws_fc_active(drvr->fws)) {
581 brcmf_fws_bustxfail(drvr->fws, txp);
583 if (brcmf_proto_hdrpull(drvr, false, &ifidx, txp))
586 brcmf_txfinalize(drvr, txp, ifidx, success);
603 struct brcmf_pub *drvr = ifp->drvr;
607 strlcpy(info->fw_version, drvr->fwver, sizeof(info->fw_version));
608 strlcpy(info->bus_info, dev_name(drvr->bus_if->dev),
633 struct brcmf_pub *drvr = ifp->drvr;
634 struct brcmf_bus *bus_if = drvr->bus_if;
675 struct brcmf_pub *drvr = ifp->drvr;
686 ndev->hard_header_len += drvr->hdrlen;
689 drvr->rxsz = ndev->mtu + ndev->hard_header_len +
690 drvr->hdrlen;
713 drvr->iflist[ifp->bssidx] = NULL;
771 ifp->drvr->iflist[ifp->bssidx] = NULL;
777 struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bssidx, s32 ifidx,
785 ifp = drvr->iflist[bssidx];
797 drvr->iflist[bssidx] = NULL;
822 ifp->drvr = drvr;
823 drvr->iflist[bssidx] = ifp;
839 void brcmf_del_if(struct brcmf_pub *drvr, s32 bssidx)
843 ifp = drvr->iflist[bssidx];
844 drvr->iflist[bssidx] = NULL;
874 struct brcmf_pub *drvr = NULL;
880 drvr = kzalloc(sizeof(struct brcmf_pub), GFP_ATOMIC);
881 if (!drvr)
884 mutex_init(&drvr->proto_block);
887 drvr->hdrlen = 0;
888 drvr->bus_if = dev_get_drvdata(dev);
889 drvr->bus_if->drvr = drvr;
892 brcmf_debugfs_attach(drvr);
895 ret = brcmf_proto_attach(drvr);
902 brcmf_fweh_attach(drvr);
916 struct brcmf_pub *drvr = bus_if->drvr;
923 ifp = brcmf_add_if(drvr, 0, 0, "wlan%d", NULL);
928 p2p_ifp = brcmf_add_if(drvr, 1, 0, "p2p%d", NULL);
942 brcmf_feat_attach(drvr);
944 ret = brcmf_fws_init(drvr);
950 drvr->config = brcmf_cfg80211_attach(drvr, bus_if->dev);
951 if (drvr->config == NULL) {
964 brcmf_cfg80211_detach(drvr->config);
965 if (drvr->fws) {
967 brcmf_fws_deinit(drvr);
969 if (drvr->iflist[0]) {
971 drvr->iflist[0] = NULL;
975 drvr->iflist[1] = NULL;
989 struct brcmf_pub *drvr = bus_if->drvr;
991 if (drvr) {
992 drvr->hdrlen += len;
996 static void brcmf_bus_detach(struct brcmf_pub *drvr)
1000 if (drvr) {
1002 brcmf_bus_stop(drvr->bus_if);
1009 struct brcmf_pub *drvr = bus_if->drvr;
1011 if (drvr == NULL)
1014 if (drvr->iflist[0])
1015 brcmf_fil_cmd_int_set(drvr->iflist[0], BRCMF_C_TERMINATED, 1);
1022 struct brcmf_pub *drvr = bus_if->drvr;
1026 if (drvr == NULL)
1030 brcmf_fweh_detach(drvr);
1036 if (drvr->iflist[i]) {
1037 brcmf_fws_del_interface(drvr->iflist[i]);
1038 brcmf_del_if(drvr, i);
1041 brcmf_cfg80211_detach(drvr->config);
1043 brcmf_fws_deinit(drvr);
1045 brcmf_bus_detach(drvr);
1047 brcmf_proto_detach(drvr);
1049 brcmf_debugfs_detach(drvr);
1050 bus_if->drvr = NULL;
1051 kfree(drvr);
1057 struct brcmf_if *ifp = bus_if->drvr->iflist[0];