OpenWrt – Rev 1

Subversion Repositories:
Rev:
From dcb1471bc6d0541d636c7ecd9239573304842884 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Tue, 19 Feb 2019 23:42:19 +0100
Subject: [PATCH] brcmfmac: use bphy_err() in all wiphy-related code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This recently added macro provides more meaningful error messages thanks
to identifying a specific wiphy. It's especially important on systems
with few cards supported by the same (brcmfmac) driver.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
---
 .../broadcom/brcm80211/brcmfmac/bcdc.c        | 22 ++---
 .../broadcom/brcm80211/brcmfmac/common.c      | 39 ++++----
 .../broadcom/brcm80211/brcmfmac/core.c        | 74 ++++++++--------
 .../broadcom/brcm80211/brcmfmac/feature.c     |  8 +-
 .../broadcom/brcm80211/brcmfmac/fweh.c        | 25 +++---
 .../broadcom/brcm80211/brcmfmac/fwil.c        | 10 +--
 .../broadcom/brcm80211/brcmfmac/fwsignal.c    | 38 ++++----
 .../broadcom/brcm80211/brcmfmac/msgbuf.c      | 65 ++++++++------
 .../broadcom/brcm80211/brcmfmac/p2p.c         | 88 +++++++++++--------
 .../broadcom/brcm80211/brcmfmac/pno.c         | 22 +++--
 .../broadcom/brcm80211/brcmfmac/proto.c       |  6 +-
 11 files changed, 224 insertions(+), 173 deletions(-)

--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
@@ -178,8 +178,8 @@ brcmf_proto_bcdc_query_dcmd(struct brcmf
        *fwerr = 0;
        ret = brcmf_proto_bcdc_msg(drvr, ifidx, cmd, buf, len, false);
        if (ret < 0) {
-               brcmf_err("brcmf_proto_bcdc_msg failed w/status %d\n",
-                         ret);
+               bphy_err(drvr, "brcmf_proto_bcdc_msg failed w/status %d\n",
+                        ret);
                goto done;
        }
 
@@ -195,9 +195,9 @@ retry:
        if ((id < bcdc->reqid) && (++retries < RETRIES))
                goto retry;
        if (id != bcdc->reqid) {
-               brcmf_err("%s: unexpected request id %d (expected %d)\n",
-                         brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
-                         bcdc->reqid);
+               bphy_err(drvr, "%s: unexpected request id %d (expected %d)\n",
+                        brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
+                        bcdc->reqid);
                ret = -EINVAL;
                goto done;
        }
@@ -245,9 +245,9 @@ brcmf_proto_bcdc_set_dcmd(struct brcmf_p
        id = (flags & BCDC_DCMD_ID_MASK) >> BCDC_DCMD_ID_SHIFT;
 
        if (id != bcdc->reqid) {
-               brcmf_err("%s: unexpected request id %d (expected %d)\n",
-                         brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
-                         bcdc->reqid);
+               bphy_err(drvr, "%s: unexpected request id %d (expected %d)\n",
+                        brcmf_ifname(brcmf_get_ifp(drvr, ifidx)), id,
+                        bcdc->reqid);
                ret = -EINVAL;
                goto done;
        }
@@ -312,8 +312,8 @@ brcmf_proto_bcdc_hdrpull(struct brcmf_pu
        }
        if (((h->flags & BCDC_FLAG_VER_MASK) >> BCDC_FLAG_VER_SHIFT) !=
            BCDC_PROTO_VER) {
-               brcmf_err("%s: non-BCDC packet received, flags 0x%x\n",
-                         brcmf_ifname(tmp_if), h->flags);
+               bphy_err(drvr, "%s: non-BCDC packet received, flags 0x%x\n",
+                        brcmf_ifname(tmp_if), h->flags);
                return -EBADE;
        }
 
@@ -460,7 +460,7 @@ int brcmf_proto_bcdc_attach(struct brcmf
 
        /* ensure that the msg buf directly follows the cdc msg struct */
        if ((unsigned long)(&bcdc->msg + 1) != (unsigned long)bcdc->buf) {
-               brcmf_err("struct brcmf_proto_bcdc is not correctly defined\n");
+               bphy_err(drvr, "struct brcmf_proto_bcdc is not correctly defined\n");
                goto fail;
        }
 
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -90,6 +90,7 @@ struct brcmf_mp_global_t brcmf_mp_global
 
 void brcmf_c_set_joinpref_default(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct brcmf_join_pref_params join_pref_params[2];
        int err;
 
@@ -106,7 +107,7 @@ void brcmf_c_set_joinpref_default(struct
        err = brcmf_fil_iovar_data_set(ifp, "join_pref", join_pref_params,
                                       sizeof(join_pref_params));
        if (err)
-               brcmf_err("Set join_pref error (%d)\n", err);
+               bphy_err(drvr, "Set join_pref error (%d)\n", err);
 }
 
 static int brcmf_c_download(struct brcmf_if *ifp, u16 flag,
@@ -129,7 +130,8 @@ static int brcmf_c_download(struct brcmf
 
 static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
 {
-       struct brcmf_bus *bus = ifp->drvr->bus_if;
+       struct brcmf_pub *drvr = ifp->drvr;
+       struct brcmf_bus *bus = drvr->bus_if;
        struct brcmf_dload_data_le *chunk_buf;
        const struct firmware *clm = NULL;
        u8 clm_name[BRCMF_FW_NAME_LEN];
@@ -145,7 +147,7 @@ static int brcmf_c_process_clm_blob(stru
        memset(clm_name, 0, sizeof(clm_name));
        err = brcmf_bus_get_fwname(bus, ".clm_blob", clm_name);
        if (err) {
-               brcmf_err("get CLM blob file name failed (%d)\n", err);
+               bphy_err(drvr, "get CLM blob file name failed (%d)\n", err);
                return err;
        }
 
@@ -182,12 +184,12 @@ static int brcmf_c_process_clm_blob(stru
        } while ((datalen > 0) && (err == 0));
 
        if (err) {
-               brcmf_err("clmload (%zu byte file) failed (%d); ",
-                         clm->size, err);
+               bphy_err(drvr, "clmload (%zu byte file) failed (%d)\n",
+                        clm->size, err);
                /* Retrieve clmload_status and print */
                err = brcmf_fil_iovar_int_get(ifp, "clmload_status", &status);
                if (err)
-                       brcmf_err("get clmload_status failed (%d)\n", err);
+                       bphy_err(drvr, "get clmload_status failed (%d)\n", err);
                else
                        brcmf_dbg(INFO, "clmload_status=%d\n", status);
                err = -EIO;
@@ -201,6 +203,7 @@ done:
 
 int brcmf_c_preinit_dcmds(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        s8 eventmask[BRCMF_EVENTING_MASK_LEN];
        u8 buf[BRCMF_DCMD_SMLEN];
        struct brcmf_bus *bus;
@@ -214,7 +217,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        err = brcmf_fil_iovar_data_get(ifp, "cur_etheraddr", ifp->mac_addr,
                                       sizeof(ifp->mac_addr));
        if (err < 0) {
-               brcmf_err("Retrieving cur_etheraddr failed, %d\n", err);
+               bphy_err(drvr, "Retrieving cur_etheraddr failed, %d\n", err);
                goto done;
        }
        memcpy(ifp->drvr->wiphy->perm_addr, ifp->drvr->mac, ETH_ALEN);
@@ -226,7 +229,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_REVINFO,
                                     &revinfo, sizeof(revinfo));
        if (err < 0) {
-               brcmf_err("retrieving revision info failed, %d\n", err);
+               bphy_err(drvr, "retrieving revision info failed, %d\n", err);
                strlcpy(ri->chipname, "UNKNOWN", sizeof(ri->chipname));
        } else {
                ri->vendorid = le32_to_cpu(revinfo.vendorid);
@@ -260,7 +263,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        /* Do any CLM downloading */
        err = brcmf_c_process_clm_blob(ifp);
        if (err < 0) {
-               brcmf_err("download CLM blob file failed, %d\n", err);
+               bphy_err(drvr, "download CLM blob file failed, %d\n", err);
                goto done;
        }
 
@@ -269,8 +272,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        strcpy(buf, "ver");
        err = brcmf_fil_iovar_data_get(ifp, "ver", buf, sizeof(buf));
        if (err < 0) {
-               brcmf_err("Retrieving version information failed, %d\n",
-                         err);
+               bphy_err(drvr, "Retrieving version information failed, %d\n",
+                        err);
                goto done;
        }
        ptr = (char *)buf;
@@ -304,7 +307,7 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        /* set mpc */
        err = brcmf_fil_iovar_int_set(ifp, "mpc", 1);
        if (err) {
-               brcmf_err("failed setting mpc\n");
+               bphy_err(drvr, "failed setting mpc\n");
                goto done;
        }
 
@@ -314,14 +317,14 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        err = brcmf_fil_iovar_data_get(ifp, "event_msgs", eventmask,
                                       BRCMF_EVENTING_MASK_LEN);
        if (err) {
-               brcmf_err("Get event_msgs error (%d)\n", err);
+               bphy_err(drvr, "Get event_msgs error (%d)\n", err);
                goto done;
        }
        setbit(eventmask, BRCMF_E_IF);
        err = brcmf_fil_iovar_data_set(ifp, "event_msgs", eventmask,
                                       BRCMF_EVENTING_MASK_LEN);
        if (err) {
-               brcmf_err("Set event_msgs error (%d)\n", err);
+               bphy_err(drvr, "Set event_msgs error (%d)\n", err);
                goto done;
        }
 
@@ -329,8 +332,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_CHANNEL_TIME,
                                    BRCMF_DEFAULT_SCAN_CHANNEL_TIME);
        if (err) {
-               brcmf_err("BRCMF_C_SET_SCAN_CHANNEL_TIME error (%d)\n",
-                         err);
+               bphy_err(drvr, "BRCMF_C_SET_SCAN_CHANNEL_TIME error (%d)\n",
+                        err);
                goto done;
        }
 
@@ -338,8 +341,8 @@ int brcmf_c_preinit_dcmds(struct brcmf_i
        err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_SCAN_UNASSOC_TIME,
                                    BRCMF_DEFAULT_SCAN_UNASSOC_TIME);
        if (err) {
-               brcmf_err("BRCMF_C_SET_SCAN_UNASSOC_TIME error (%d)\n",
-                         err);
+               bphy_err(drvr, "BRCMF_C_SET_SCAN_UNASSOC_TIME error (%d)\n",
+                        err);
                goto done;
        }
 
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
@@ -90,7 +90,7 @@ struct brcmf_if *brcmf_get_ifp(struct br
        s32 bsscfgidx;
 
        if (ifidx < 0 || ifidx >= BRCMF_MAX_IFS) {
-               brcmf_err("ifidx %d out of range\n", ifidx);
+               bphy_err(drvr, "ifidx %d out of range\n", ifidx);
                return NULL;
        }
 
@@ -141,7 +141,9 @@ void brcmf_configure_arp_nd_offload(stru
 
 static void _brcmf_set_multicast_list(struct work_struct *work)
 {
-       struct brcmf_if *ifp;
+       struct brcmf_if *ifp = container_of(work, struct brcmf_if,
+                                           multicast_work);
+       struct brcmf_pub *drvr = ifp->drvr;
        struct net_device *ndev;
        struct netdev_hw_addr *ha;
        u32 cmd_value, cnt;
@@ -150,8 +152,6 @@ static void _brcmf_set_multicast_list(st
        u32 buflen;
        s32 err;
 
-       ifp = container_of(work, struct brcmf_if, multicast_work);
-
        brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx);
 
        ndev = ifp->ndev;
@@ -181,7 +181,7 @@ static void _brcmf_set_multicast_list(st
 
        err = brcmf_fil_iovar_data_set(ifp, "mcast_list", buf, buflen);
        if (err < 0) {
-               brcmf_err("Setting mcast_list failed, %d\n", err);
+               bphy_err(drvr, "Setting mcast_list failed, %d\n", err);
                cmd_value = cnt ? true : cmd_value;
        }
 
@@ -194,25 +194,25 @@ static void _brcmf_set_multicast_list(st
         */
        err = brcmf_fil_iovar_int_set(ifp, "allmulti", cmd_value);
        if (err < 0)
-               brcmf_err("Setting allmulti failed, %d\n", err);
+               bphy_err(drvr, "Setting allmulti failed, %d\n", err);
 
        /*Finally, pick up the PROMISC flag */
        cmd_value = (ndev->flags & IFF_PROMISC) ? true : false;
        err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_PROMISC, cmd_value);
        if (err < 0)
-               brcmf_err("Setting BRCMF_C_SET_PROMISC failed, %d\n",
-                         err);
+               bphy_err(drvr, "Setting BRCMF_C_SET_PROMISC failed, %d\n",
+                        err);
        brcmf_configure_arp_nd_offload(ifp, !cmd_value);
 }
 
 #if IS_ENABLED(CONFIG_IPV6)
 static void _brcmf_update_ndtable(struct work_struct *work)
 {
-       struct brcmf_if *ifp;
+       struct brcmf_if *ifp = container_of(work, struct brcmf_if,
+                                           ndoffload_work);
+       struct brcmf_pub *drvr = ifp->drvr;
        int i, ret;
 
-       ifp = container_of(work, struct brcmf_if, ndoffload_work);
-
        /* clear the table in firmware */
        ret = brcmf_fil_iovar_data_set(ifp, "nd_hostip_clear", NULL, 0);
        if (ret) {
@@ -225,7 +225,7 @@ static void _brcmf_update_ndtable(struct
                                               &ifp->ipv6_addr_tbl[i],
                                               sizeof(struct in6_addr));
                if (ret)
-                       brcmf_err("add nd ip err %d\n", ret);
+                       bphy_err(drvr, "add nd ip err %d\n", ret);
        }
 }
 #else
@@ -238,6 +238,7 @@ static int brcmf_netdev_set_mac_address(
 {
        struct brcmf_if *ifp = netdev_priv(ndev);
        struct sockaddr *sa = (struct sockaddr *)addr;
+       struct brcmf_pub *drvr = ifp->drvr;
        int err;
 
        brcmf_dbg(TRACE, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx);
@@ -245,7 +246,7 @@ static int brcmf_netdev_set_mac_address(
        err = brcmf_fil_iovar_data_set(ifp, "cur_etheraddr", sa->sa_data,
                                       ETH_ALEN);
        if (err < 0) {
-               brcmf_err("Setting cur_etheraddr failed, %d\n", err);
+               bphy_err(drvr, "Setting cur_etheraddr failed, %d\n", err);
        } else {
                brcmf_dbg(TRACE, "updated to %pM\n", sa->sa_data);
                memcpy(ifp->mac_addr, sa->sa_data, ETH_ALEN);
@@ -305,7 +306,7 @@ static netdev_tx_t brcmf_netdev_start_xm
 
        /* Can the device send data? */
        if (drvr->bus_if->state != BRCMF_BUS_UP) {
-               brcmf_err("xmit rejected state=%d\n", drvr->bus_if->state);
+               bphy_err(drvr, "xmit rejected state=%d\n", drvr->bus_if->state);
                netif_stop_queue(ndev);
                dev_kfree_skb(skb);
                ret = -ENODEV;
@@ -339,8 +340,8 @@ static netdev_tx_t brcmf_netdev_start_xm
                ret = pskb_expand_head(skb, ALIGN(head_delta, NET_SKB_PAD), 0,
                                       GFP_ATOMIC);
                if (ret < 0) {
-                       brcmf_err("%s: failed to expand headroom\n",
-                                 brcmf_ifname(ifp));
+                       bphy_err(drvr, "%s: failed to expand headroom\n",
+                                brcmf_ifname(ifp));
                        atomic_inc(&drvr->bus_if->stats.pktcow_failed);
                        goto done;
                }
@@ -607,7 +608,7 @@ static int brcmf_netdev_open(struct net_
 
        /* If bus is not ready, can't continue */
        if (bus_if->state != BRCMF_BUS_UP) {
-               brcmf_err("failed bus is not ready\n");
+               bphy_err(drvr, "failed bus is not ready\n");
                return -EAGAIN;
        }
 
@@ -621,7 +622,7 @@ static int brcmf_netdev_open(struct net_
                ndev->features &= ~NETIF_F_IP_CSUM;
 
        if (brcmf_cfg80211_up(ndev)) {
-               brcmf_err("failed to bring up cfg80211\n");
+               bphy_err(drvr, "failed to bring up cfg80211\n");
                return -EIO;
        }
 
@@ -683,7 +684,7 @@ int brcmf_net_attach(struct brcmf_if *if
        else
                err = register_netdev(ndev);
        if (err != 0) {
-               brcmf_err("couldn't register the net device\n");
+               bphy_err(drvr, "couldn't register the net device\n");
                goto fail;
        }
 
@@ -760,6 +761,7 @@ static const struct net_device_ops brcmf
 
 static int brcmf_net_p2p_attach(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct net_device *ndev;
 
        brcmf_dbg(TRACE, "Enter, bsscfgidx=%d mac=%pM\n", ifp->bsscfgidx,
@@ -772,7 +774,7 @@ static int brcmf_net_p2p_attach(struct b
        memcpy(ndev->dev_addr, ifp->mac_addr, ETH_ALEN);
 
        if (register_netdev(ndev) != 0) {
-               brcmf_err("couldn't register the p2p net device\n");
+               bphy_err(drvr, "couldn't register the p2p net device\n");
                goto fail;
        }
 
@@ -801,8 +803,8 @@ struct brcmf_if *brcmf_add_if(struct brc
         */
        if (ifp) {
                if (ifidx) {
-                       brcmf_err("ERROR: netdev:%s already exists\n",
-                                 ifp->ndev->name);
+                       bphy_err(drvr, "ERROR: netdev:%s already exists\n",
+                                ifp->ndev->name);
                        netif_stop_queue(ifp->ndev);
                        brcmf_net_detach(ifp->ndev, false);
                        drvr->iflist[bsscfgidx] = NULL;
@@ -864,7 +866,7 @@ static void brcmf_del_if(struct brcmf_pu
        ifp = drvr->iflist[bsscfgidx];
        drvr->iflist[bsscfgidx] = NULL;
        if (!ifp) {
-               brcmf_err("Null interface, bsscfgidx=%d\n", bsscfgidx);
+               bphy_err(drvr, "Null interface, bsscfgidx=%d\n", bsscfgidx);
                return;
        }
        brcmf_dbg(TRACE, "Enter, bsscfgidx=%d, ifidx=%d\n", bsscfgidx,
@@ -914,16 +916,17 @@ static int brcmf_psm_watchdog_notify(str
                                     const struct brcmf_event_msg *evtmsg,
                                     void *data)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        int err;
 
        brcmf_dbg(TRACE, "enter: bsscfgidx=%d\n", ifp->bsscfgidx);
 
-       brcmf_err("PSM's watchdog has fired!\n");
+       bphy_err(drvr, "PSM's watchdog has fired!\n");
 
        err = brcmf_debug_create_memdump(ifp->drvr->bus_if, data,
                                         evtmsg->datalen);
        if (err)
-               brcmf_err("Failed to get memory dump, %d\n", err);
+               bphy_err(drvr, "Failed to get memory dump, %d\n", err);
 
        return err;
 }
@@ -967,7 +970,7 @@ static int brcmf_inetaddr_changed(struct
        ret = brcmf_fil_iovar_data_get(ifp, "arp_hostip", addr_table,
                                       sizeof(addr_table));
        if (ret) {
-               brcmf_err("fail to get arp ip table err:%d\n", ret);
+               bphy_err(drvr, "fail to get arp ip table err:%d\n", ret);
                return NOTIFY_OK;
        }
 
@@ -984,7 +987,7 @@ static int brcmf_inetaddr_changed(struct
                        ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip",
                                &ifa->ifa_address, sizeof(ifa->ifa_address));
                        if (ret)
-                               brcmf_err("add arp ip err %d\n", ret);
+                               bphy_err(drvr, "add arp ip err %d\n", ret);
                }
                break;
        case NETDEV_DOWN:
@@ -996,8 +999,8 @@ static int brcmf_inetaddr_changed(struct
                        ret = brcmf_fil_iovar_data_set(ifp, "arp_hostip_clear",
                                                       NULL, 0);
                        if (ret) {
-                               brcmf_err("fail to clear arp ip table err:%d\n",
-                                         ret);
+                               bphy_err(drvr, "fail to clear arp ip table err:%d\n",
+                                        ret);
                                return NOTIFY_OK;
                        }
                        for (i = 0; i < ARPOL_MAX_ENTRIES; i++) {
@@ -1007,8 +1010,8 @@ static int brcmf_inetaddr_changed(struct
                                                               &addr_table[i],
                                                               sizeof(addr_table[i]));
                                if (ret)
-                                       brcmf_err("add arp ip err %d\n",
-                                                 ret);
+                                       bphy_err(drvr, "add arp ip err %d\n",
+                                                ret);
                        }
                }
                break;
@@ -1182,7 +1185,7 @@ static int brcmf_bus_started(struct brcm
        return 0;
 
 fail:
-       brcmf_err("failed: %d\n", ret);
+       bphy_err(drvr, "failed: %d\n", ret);
        if (drvr->config) {
                brcmf_cfg80211_detach(drvr->config);
                drvr->config = NULL;
@@ -1234,7 +1237,7 @@ int brcmf_attach(struct device *dev, str
        /* Attach and link in the protocol */
        ret = brcmf_proto_attach(drvr);
        if (ret != 0) {
-               brcmf_err("brcmf_prot_attach failed\n");
+               bphy_err(drvr, "brcmf_prot_attach failed\n");
                goto fail;
        }
 
@@ -1247,7 +1250,7 @@ int brcmf_attach(struct device *dev, str
 
        ret = brcmf_bus_started(drvr, ops);
        if (ret != 0) {
-               brcmf_err("dongle is not responding: err=%d\n", ret);
+               bphy_err(drvr, "dongle is not responding: err=%d\n", ret);
                goto fail;
        }
 
@@ -1347,6 +1350,7 @@ static int brcmf_get_pend_8021x_cnt(stru
 
 int brcmf_netdev_wait_pend8021x(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        int err;
 
        err = wait_event_timeout(ifp->pend_8021x_wait,
@@ -1354,7 +1358,7 @@ int brcmf_netdev_wait_pend8021x(struct b
                                 MAX_WAIT_FOR_8021X_TX);
 
        if (!err)
-               brcmf_err("Timed out waiting for no pending 802.1x packets\n");
+               bphy_err(drvr, "Timed out waiting for no pending 802.1x packets\n");
 
        return !err;
 }
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
@@ -185,13 +185,14 @@ static void brcmf_feat_iovar_data_set(st
 #define MAX_CAPS_BUFFER_SIZE   768
 static void brcmf_feat_firmware_capabilities(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        char caps[MAX_CAPS_BUFFER_SIZE];
        enum brcmf_feat_id id;
        int i, err;
 
        err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps));
        if (err) {
-               brcmf_err("could not get firmware cap (%d)\n", err);
+               bphy_err(drvr, "could not get firmware cap (%d)\n", err);
                return;
        }
 
@@ -216,14 +217,15 @@ static void brcmf_feat_firmware_capabili
 static int brcmf_feat_fwcap_debugfs_read(struct seq_file *seq, void *data)
 {
        struct brcmf_bus *bus_if = dev_get_drvdata(seq->private);
-       struct brcmf_if *ifp = brcmf_get_ifp(bus_if->drvr, 0);
+       struct brcmf_pub *drvr = bus_if->drvr;
+       struct brcmf_if *ifp = brcmf_get_ifp(drvr, 0);
        char caps[MAX_CAPS_BUFFER_SIZE + 1] = { };
        char *tmp;
        int err;
 
        err = brcmf_fil_iovar_data_get(ifp, "cap", caps, sizeof(caps));
        if (err) {
-               brcmf_err("could not get firmware cap (%d)\n", err);
+               bphy_err(drvr, "could not get firmware cap (%d)\n", err);
                return err;
        }
 
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c
@@ -102,7 +102,8 @@ static void brcmf_fweh_queue_event(struc
        schedule_work(&fweh->event_work);
 }
 
-static int brcmf_fweh_call_event_handler(struct brcmf_if *ifp,
+static int brcmf_fweh_call_event_handler(struct brcmf_pub *drvr,
+                                        struct brcmf_if *ifp,
                                         enum brcmf_fweh_event_code code,
                                         struct brcmf_event_msg *emsg,
                                         void *data)
@@ -117,9 +118,9 @@ static int brcmf_fweh_call_event_handler
                if (fweh->evt_handler[code])
                        err = fweh->evt_handler[code](ifp, emsg, data);
                else
-                       brcmf_err("unhandled event %d ignored\n", code);
+                       bphy_err(drvr, "unhandled event %d ignored\n", code);
        } else {
-               brcmf_err("no interface object\n");
+               bphy_err(drvr, "no interface object\n");
        }
        return err;
 }
@@ -158,7 +159,7 @@ static void brcmf_fweh_handle_if_event(s
                return;
        }
        if (ifevent->ifidx >= BRCMF_MAX_IFS) {
-               brcmf_err("invalid interface index: %u\n", ifevent->ifidx);
+               bphy_err(drvr, "invalid interface index: %u\n", ifevent->ifidx);
                return;
        }
 
@@ -181,7 +182,8 @@ static void brcmf_fweh_handle_if_event(s
        if (ifp && ifevent->action == BRCMF_E_IF_CHANGE)
                brcmf_proto_reset_if(drvr, ifp);
 
-       err = brcmf_fweh_call_event_handler(ifp, emsg->event_code, emsg, data);
+       err = brcmf_fweh_call_event_handler(drvr, ifp, emsg->event_code, emsg,
+                                           data);
 
        if (ifp && ifevent->action == BRCMF_E_IF_DEL) {
                bool armed = brcmf_cfg80211_vif_event_armed(drvr->config);
@@ -268,11 +270,11 @@ static void brcmf_fweh_event_worker(stru
                        ifp = drvr->iflist[0];
                else
                        ifp = drvr->iflist[emsg.bsscfgidx];
-               err = brcmf_fweh_call_event_handler(ifp, event->code, &emsg,
-                                                   event->data);
+               err = brcmf_fweh_call_event_handler(drvr, ifp, event->code,
+                                                   &emsg, event->data);
                if (err) {
-                       brcmf_err("event handler failed (%d)\n",
-                                 event->code);
+                       bphy_err(drvr, "event handler failed (%d)\n",
+                                event->code);
                        err = 0;
                }
 event_free:
@@ -339,7 +341,7 @@ int brcmf_fweh_register(struct brcmf_pub
                        brcmf_fweh_handler_t handler)
 {
        if (drvr->fweh.evt_handler[code]) {
-               brcmf_err("event code %d already registered\n", code);
+               bphy_err(drvr, "event code %d already registered\n", code);
                return -ENOSPC;
        }
        drvr->fweh.evt_handler[code] = handler;
@@ -369,6 +371,7 @@ void brcmf_fweh_unregister(struct brcmf_
  */
 int brcmf_fweh_activate_events(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        int i, err;
        s8 eventmask[BRCMF_EVENTING_MASK_LEN];
 
@@ -388,7 +391,7 @@ int brcmf_fweh_activate_events(struct br
        err = brcmf_fil_iovar_data_set(ifp, "event_msgs",
                                       eventmask, BRCMF_EVENTING_MASK_LEN);
        if (err)
-               brcmf_err("Set event_msgs error (%d)\n", err);
+               bphy_err(drvr, "Set event_msgs error (%d)\n", err);
 
        return err;
 }
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c
@@ -110,7 +110,7 @@ brcmf_fil_cmd_data(struct brcmf_if *ifp,
        s32 err, fwerr;
 
        if (drvr->bus_if->state != BRCMF_BUS_UP) {
-               brcmf_err("bus is down. we have nothing to do.\n");
+               bphy_err(drvr, "bus is down. we have nothing to do.\n");
                return -EIO;
        }
 
@@ -242,7 +242,7 @@ brcmf_fil_iovar_data_set(struct brcmf_if
                                         buflen, true);
        } else {
                err = -EPERM;
-               brcmf_err("Creating iovar failed\n");
+               bphy_err(drvr, "Creating iovar failed\n");
        }
 
        mutex_unlock(&drvr->proto_block);
@@ -268,7 +268,7 @@ brcmf_fil_iovar_data_get(struct brcmf_if
                        memcpy(data, drvr->proto_buf, len);
        } else {
                err = -EPERM;
-               brcmf_err("Creating iovar failed\n");
+               bphy_err(drvr, "Creating iovar failed\n");
        }
 
        brcmf_dbg(FIL, "ifidx=%d, name=%s, len=%d\n", ifp->ifidx, name, len);
@@ -366,7 +366,7 @@ brcmf_fil_bsscfg_data_set(struct brcmf_i
                                         buflen, true);
        } else {
                err = -EPERM;
-               brcmf_err("Creating bsscfg failed\n");
+               bphy_err(drvr, "Creating bsscfg failed\n");
        }
 
        mutex_unlock(&drvr->proto_block);
@@ -392,7 +392,7 @@ brcmf_fil_bsscfg_data_get(struct brcmf_i
                        memcpy(data, drvr->proto_buf, len);
        } else {
                err = -EPERM;
-               brcmf_err("Creating bsscfg failed\n");
+               bphy_err(drvr, "Creating bsscfg failed\n");
        }
        brcmf_dbg(FIL, "ifidx=%d, bsscfgidx=%d, name=%s, len=%d\n", ifp->ifidx,
                  ifp->bsscfgidx, name, len);
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
@@ -1255,6 +1255,7 @@ static int brcmf_fws_enq(struct brcmf_fw
                         enum brcmf_fws_skb_state state, int fifo,
                         struct sk_buff *p)
 {
+       struct brcmf_pub *drvr = fws->drvr;
        int prec = 2 * fifo;
        u32 *qfull_stat = &fws->stats.delayq_full_error;
        struct brcmf_fws_mac_descriptor *entry;
@@ -1267,7 +1268,7 @@ static int brcmf_fws_enq(struct brcmf_fw
 
        entry = brcmf_skbcb(p)->mac;
        if (entry == NULL) {
-               brcmf_err("no mac descriptor found for skb %p\n", p);
+               bphy_err(drvr, "no mac descriptor found for skb %p\n", p);
                return -ENOENT;
        }
 
@@ -1457,6 +1458,7 @@ static int
 brcmf_fws_txs_process(struct brcmf_fws_info *fws, u8 flags, u32 hslot,
                      u32 genbit, u16 seq, u8 compcnt)
 {
+       struct brcmf_pub *drvr = fws->drvr;
        u32 fifo;
        u8 cnt = 0;
        int ret;
@@ -1481,14 +1483,14 @@ brcmf_fws_txs_process(struct brcmf_fws_i
        else if (flags == BRCMF_FWS_TXSTATUS_HOST_TOSSED)
                fws->stats.txs_host_tossed += compcnt;
        else
-               brcmf_err("unexpected txstatus\n");
+               bphy_err(drvr, "unexpected txstatus\n");
 
        while (cnt < compcnt) {
                ret = brcmf_fws_hanger_poppkt(&fws->hanger, hslot, &skb,
                                              remove_from_hanger);
                if (ret != 0) {
-                       brcmf_err("no packet in hanger slot: hslot=%d\n",
-                                 hslot);
+                       bphy_err(drvr, "no packet in hanger slot: hslot=%d\n",
+                                hslot);
                        goto cont;
                }
 
@@ -1612,12 +1614,13 @@ static int brcmf_fws_notify_credit_map(s
                                       const struct brcmf_event_msg *e,
                                       void *data)
 {
-       struct brcmf_fws_info *fws = drvr_to_fws(ifp->drvr);
+       struct brcmf_pub *drvr = ifp->drvr;
+       struct brcmf_fws_info *fws = drvr_to_fws(drvr);
        int i;
        u8 *credits = data;
 
        if (e->datalen < BRCMF_FWS_FIFO_COUNT) {
-               brcmf_err("event payload too small (%d)\n", e->datalen);
+               bphy_err(drvr, "event payload too small (%d)\n", e->datalen);
                return -EINVAL;
        }
 
@@ -1681,6 +1684,7 @@ static void brcmf_rxreorder_get_skb_list
 
 void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        u8 *reorder_data;
        u8 flow_id, max_idx, cur_idx, exp_idx, end_idx;
        struct brcmf_ampdu_rx_reorder *rfi;
@@ -1695,7 +1699,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
 
        /* validate flags and flow id */
        if (flags == 0xFF) {
-               brcmf_err("invalid flags...so ignore this packet\n");
+               bphy_err(drvr, "invalid flags...so ignore this packet\n");
                brcmf_netif_rx(ifp, pkt);
                return;
        }
@@ -1732,7 +1736,7 @@ void brcmf_fws_rxreorder(struct brcmf_if
                          flow_id, max_idx);
                rfi = kzalloc(buf_size, GFP_ATOMIC);
                if (rfi == NULL) {
-                       brcmf_err("failed to alloc buffer\n");
+                       bphy_err(drvr, "failed to alloc buffer\n");
                        brcmf_netif_rx(ifp, pkt);
                        return;
                }
@@ -1996,6 +2000,7 @@ static u8 brcmf_fws_precommit_skb(struct
 static void brcmf_fws_rollback_toq(struct brcmf_fws_info *fws,
                                   struct sk_buff *skb, int fifo)
 {
+       struct brcmf_pub *drvr = fws->drvr;
        struct brcmf_fws_mac_descriptor *entry;
        struct sk_buff *pktout;
        int qidx, hslot;
@@ -2009,11 +2014,11 @@ static void brcmf_fws_rollback_toq(struc
 
                pktout = brcmu_pktq_penq_head(&entry->psq, qidx, skb);
                if (pktout == NULL) {
-                       brcmf_err("%s queue %d full\n", entry->name, qidx);
+                       bphy_err(drvr, "%s queue %d full\n", entry->name, qidx);
                        rc = -ENOSPC;
                }
        } else {
-               brcmf_err("%s entry removed\n", entry->name);
+               bphy_err(drvr, "%s entry removed\n", entry->name);
                rc = -ENOENT;
        }
 
@@ -2118,7 +2123,8 @@ static int brcmf_fws_assign_htod(struct
 
 int brcmf_fws_process_skb(struct brcmf_if *ifp, struct sk_buff *skb)
 {
-       struct brcmf_fws_info *fws = drvr_to_fws(ifp->drvr);
+       struct brcmf_pub *drvr = ifp->drvr;
+       struct brcmf_fws_info *fws = drvr_to_fws(drvr);
        struct brcmf_skbuff_cb *skcb = brcmf_skbcb(skb);
        struct ethhdr *eh = (struct ethhdr *)(skb->data);
        int fifo = BRCMF_FWS_FIFO_BCMC;
@@ -2146,7 +2152,7 @@ int brcmf_fws_process_skb(struct brcmf_i
                brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb);
                brcmf_fws_schedule_deq(fws);
        } else {
-               brcmf_err("drop skb: no hanger slot\n");
+               bphy_err(drvr, "drop skb: no hanger slot\n");
                brcmf_txfinalize(ifp, skb, false);
                rc = -ENOMEM;
        }
@@ -2365,7 +2371,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
 
        fws->fws_wq = create_singlethread_workqueue("brcmf_fws_wq");
        if (fws->fws_wq == NULL) {
-               brcmf_err("workqueue creation failed\n");
+               bphy_err(drvr, "workqueue creation failed\n");
                rc = -EBADF;
                goto fail;
        }
@@ -2381,13 +2387,13 @@ struct brcmf_fws_info *brcmf_fws_attach(
        rc = brcmf_fweh_register(drvr, BRCMF_E_FIFO_CREDIT_MAP,
                                 brcmf_fws_notify_credit_map);
        if (rc < 0) {
-               brcmf_err("register credit map handler failed\n");
+               bphy_err(drvr, "register credit map handler failed\n");
                goto fail;
        }
        rc = brcmf_fweh_register(drvr, BRCMF_E_BCMC_CREDIT_SUPPORT,
                                 brcmf_fws_notify_bcmc_credit_support);
        if (rc < 0) {
-               brcmf_err("register bcmc credit handler failed\n");
+               bphy_err(drvr, "register bcmc credit handler failed\n");
                brcmf_fweh_unregister(drvr, BRCMF_E_FIFO_CREDIT_MAP);
                goto fail;
        }
@@ -2399,7 +2405,7 @@ struct brcmf_fws_info *brcmf_fws_attach(
        fws->fw_signals = true;
        ifp = brcmf_get_ifp(drvr, 0);
        if (brcmf_fil_iovar_int_set(ifp, "tlv", tlv)) {
-               brcmf_err("failed to set bdcv2 tlv signaling\n");
+               bphy_err(drvr, "failed to set bdcv2 tlv signaling\n");
                fws->fcmode = BRCMF_FWS_FCMODE_NONE;
                fws->fw_signals = false;
        }
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
@@ -439,7 +439,7 @@ static int brcmf_msgbuf_tx_ioctl(struct
        brcmf_commonring_lock(commonring);
        ret_ptr = brcmf_commonring_reserve_for_write(commonring);
        if (!ret_ptr) {
-               brcmf_err("Failed to reserve space in commonring\n");
+               bphy_err(drvr, "Failed to reserve space in commonring\n");
                brcmf_commonring_unlock(commonring);
                return -ENOMEM;
        }
@@ -503,7 +503,7 @@ static int brcmf_msgbuf_query_dcmd(struc
 
        timeout = brcmf_msgbuf_ioctl_resp_wait(msgbuf);
        if (!timeout) {
-               brcmf_err("Timeout on response for query command\n");
+               bphy_err(drvr, "Timeout on response for query command\n");
                return -EIO;
        }
 
@@ -580,6 +580,7 @@ static u32
 brcmf_msgbuf_flowring_create_worker(struct brcmf_msgbuf *msgbuf,
                                    struct brcmf_msgbuf_work_item *work)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct msgbuf_tx_flowring_create_req *create;
        struct brcmf_commonring *commonring;
        void *ret_ptr;
@@ -595,7 +596,7 @@ brcmf_msgbuf_flowring_create_worker(stru
                                     &msgbuf->flowring_dma_handle[flowid],
                                     GFP_KERNEL);
        if (!dma_buf) {
-               brcmf_err("dma_alloc_coherent failed\n");
+               bphy_err(drvr, "dma_alloc_coherent failed\n");
                brcmf_flowring_delete(msgbuf->flow, flowid);
                return BRCMF_FLOWRING_INVALID_ID;
        }
@@ -608,7 +609,7 @@ brcmf_msgbuf_flowring_create_worker(stru
        brcmf_commonring_lock(commonring);
        ret_ptr = brcmf_commonring_reserve_for_write(commonring);
        if (!ret_ptr) {
-               brcmf_err("Failed to reserve space in commonring\n");
+               bphy_err(drvr, "Failed to reserve space in commonring\n");
                brcmf_commonring_unlock(commonring);
                brcmf_msgbuf_remove_flowring(msgbuf, flowid);
                return BRCMF_FLOWRING_INVALID_ID;
@@ -635,7 +636,7 @@ brcmf_msgbuf_flowring_create_worker(stru
        err = brcmf_commonring_write_complete(commonring);
        brcmf_commonring_unlock(commonring);
        if (err) {
-               brcmf_err("Failed to write commonring\n");
+               bphy_err(drvr, "Failed to write commonring\n");
                brcmf_msgbuf_remove_flowring(msgbuf, flowid);
                return BRCMF_FLOWRING_INVALID_ID;
        }
@@ -694,6 +695,7 @@ static u32 brcmf_msgbuf_flowring_create(
 static void brcmf_msgbuf_txflow(struct brcmf_msgbuf *msgbuf, u16 flowid)
 {
        struct brcmf_flowring *flow = msgbuf->flow;
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct brcmf_commonring *commonring;
        void *ret_ptr;
        u32 count;
@@ -713,8 +715,8 @@ static void brcmf_msgbuf_txflow(struct b
        while (brcmf_flowring_qlen(flow, flowid)) {
                skb = brcmf_flowring_dequeue(flow, flowid);
                if (skb == NULL) {
-                       brcmf_err("No SKB, but qlen %d\n",
-                                 brcmf_flowring_qlen(flow, flowid));
+                       bphy_err(drvr, "No SKB, but qlen %d\n",
+                                brcmf_flowring_qlen(flow, flowid));
                        break;
                }
                skb_orphan(skb);
@@ -722,7 +724,7 @@ static void brcmf_msgbuf_txflow(struct b
                                             msgbuf->tx_pktids, skb, ETH_HLEN,
                                             &physaddr, &pktid)) {
                        brcmf_flowring_reinsert(flow, flowid, skb);
-                       brcmf_err("No PKTID available !!\n");
+                       bphy_err(drvr, "No PKTID available !!\n");
                        break;
                }
                ret_ptr = brcmf_commonring_reserve_for_write(commonring);
@@ -893,6 +895,7 @@ brcmf_msgbuf_process_txstatus(struct brc
 
 static u32 brcmf_msgbuf_rxbuf_data_post(struct brcmf_msgbuf *msgbuf, u32 count)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct brcmf_commonring *commonring;
        void *ret_ptr;
        struct sk_buff *skb;
@@ -920,7 +923,7 @@ static u32 brcmf_msgbuf_rxbuf_data_post(
                skb = brcmu_pkt_buf_get_skb(BRCMF_MSGBUF_MAX_PKT_SIZE);
 
                if (skb == NULL) {
-                       brcmf_err("Failed to alloc SKB\n");
+                       bphy_err(drvr, "Failed to alloc SKB\n");
                        brcmf_commonring_write_cancel(commonring, alloced - i);
                        break;
                }
@@ -930,7 +933,7 @@ static u32 brcmf_msgbuf_rxbuf_data_post(
                                             msgbuf->rx_pktids, skb, 0,
                                             &physaddr, &pktid)) {
                        dev_kfree_skb_any(skb);
-                       brcmf_err("No PKTID available !!\n");
+                       bphy_err(drvr, "No PKTID available !!\n");
                        brcmf_commonring_write_cancel(commonring, alloced - i);
                        break;
                }
@@ -1000,6 +1003,7 @@ static u32
 brcmf_msgbuf_rxbuf_ctrl_post(struct brcmf_msgbuf *msgbuf, bool event_buf,
                             u32 count)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct brcmf_commonring *commonring;
        void *ret_ptr;
        struct sk_buff *skb;
@@ -1017,7 +1021,7 @@ brcmf_msgbuf_rxbuf_ctrl_post(struct brcm
                                                              count,
                                                              &alloced);
        if (!ret_ptr) {
-               brcmf_err("Failed to reserve space in commonring\n");
+               bphy_err(drvr, "Failed to reserve space in commonring\n");
                brcmf_commonring_unlock(commonring);
                return 0;
        }
@@ -1029,7 +1033,7 @@ brcmf_msgbuf_rxbuf_ctrl_post(struct brcm
                skb = brcmu_pkt_buf_get_skb(BRCMF_MSGBUF_MAX_PKT_SIZE);
 
                if (skb == NULL) {
-                       brcmf_err("Failed to alloc SKB\n");
+                       bphy_err(drvr, "Failed to alloc SKB\n");
                        brcmf_commonring_write_cancel(commonring, alloced - i);
                        break;
                }
@@ -1039,7 +1043,7 @@ brcmf_msgbuf_rxbuf_ctrl_post(struct brcm
                                             msgbuf->rx_pktids, skb, 0,
                                             &physaddr, &pktid)) {
                        dev_kfree_skb_any(skb);
-                       brcmf_err("No PKTID available !!\n");
+                       bphy_err(drvr, "No PKTID available !!\n");
                        brcmf_commonring_write_cancel(commonring, alloced - i);
                        break;
                }
@@ -1091,6 +1095,7 @@ static void brcmf_msgbuf_rxbuf_event_pos
 
 static void brcmf_msgbuf_process_event(struct brcmf_msgbuf *msgbuf, void *buf)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct msgbuf_rx_event *event;
        u32 idx;
        u16 buflen;
@@ -1117,8 +1122,8 @@ static void brcmf_msgbuf_process_event(s
 
        ifp = brcmf_get_ifp(msgbuf->drvr, event->msg.ifidx);
        if (!ifp || !ifp->ndev) {
-               brcmf_err("Received pkt for invalid ifidx %d\n",
-                         event->msg.ifidx);
+               bphy_err(drvr, "Received pkt for invalid ifidx %d\n",
+                        event->msg.ifidx);
                goto exit;
        }
 
@@ -1134,6 +1139,7 @@ exit:
 static void
 brcmf_msgbuf_process_rx_complete(struct brcmf_msgbuf *msgbuf, void *buf)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct msgbuf_rx_complete *rx_complete;
        struct sk_buff *skb;
        u16 data_offset;
@@ -1167,7 +1173,7 @@ brcmf_msgbuf_process_rx_complete(struct
                ifp = msgbuf->drvr->mon_if;
 
                if (!ifp) {
-                       brcmf_err("Received unexpected monitor pkt\n");
+                       bphy_err(drvr, "Received unexpected monitor pkt\n");
                        brcmu_pkt_buf_free_skb(skb);
                        return;
                }
@@ -1178,8 +1184,8 @@ brcmf_msgbuf_process_rx_complete(struct
 
        ifp = brcmf_get_ifp(msgbuf->drvr, rx_complete->msg.ifidx);
        if (!ifp || !ifp->ndev) {
-               brcmf_err("Received pkt for invalid ifidx %d\n",
-                         rx_complete->msg.ifidx);
+               bphy_err(drvr, "Received pkt for invalid ifidx %d\n",
+                        rx_complete->msg.ifidx);
                brcmu_pkt_buf_free_skb(skb);
                return;
        }
@@ -1192,13 +1198,15 @@ static void brcmf_msgbuf_process_ring_st
                                             void *buf)
 {
        struct msgbuf_ring_status *ring_status = buf;
+       struct brcmf_pub *drvr = msgbuf->drvr;
        int err;
 
        err = le16_to_cpu(ring_status->compl_hdr.status);
        if (err) {
                int ring = le16_to_cpu(ring_status->compl_hdr.flow_ring_id);
 
-               brcmf_err("Firmware reported ring %d error: %d\n", ring, err);
+               bphy_err(drvr, "Firmware reported ring %d error: %d\n", ring,
+                        err);
        }
 }
 
@@ -1206,6 +1214,7 @@ static void
 brcmf_msgbuf_process_flow_ring_create_response(struct brcmf_msgbuf *msgbuf,
                                               void *buf)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct msgbuf_flowring_create_resp *flowring_create_resp;
        u16 status;
        u16 flowid;
@@ -1217,7 +1226,7 @@ brcmf_msgbuf_process_flow_ring_create_re
        status =  le16_to_cpu(flowring_create_resp->compl_hdr.status);
 
        if (status) {
-               brcmf_err("Flowring creation failed, code %d\n", status);
+               bphy_err(drvr, "Flowring creation failed, code %d\n", status);
                brcmf_msgbuf_remove_flowring(msgbuf, flowid);
                return;
        }
@@ -1234,6 +1243,7 @@ static void
 brcmf_msgbuf_process_flow_ring_delete_response(struct brcmf_msgbuf *msgbuf,
                                               void *buf)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct msgbuf_flowring_delete_resp *flowring_delete_resp;
        u16 status;
        u16 flowid;
@@ -1245,7 +1255,7 @@ brcmf_msgbuf_process_flow_ring_delete_re
        status =  le16_to_cpu(flowring_delete_resp->compl_hdr.status);
 
        if (status) {
-               brcmf_err("Flowring deletion failed, code %d\n", status);
+               bphy_err(drvr, "Flowring deletion failed, code %d\n", status);
                brcmf_flowring_delete(msgbuf->flow, flowid);
                return;
        }
@@ -1258,6 +1268,7 @@ brcmf_msgbuf_process_flow_ring_delete_re
 
 static void brcmf_msgbuf_process_msgtype(struct brcmf_msgbuf *msgbuf, void *buf)
 {
+       struct brcmf_pub *drvr = msgbuf->drvr;
        struct msgbuf_common_hdr *msg;
 
        msg = (struct msgbuf_common_hdr *)buf;
@@ -1294,7 +1305,7 @@ static void brcmf_msgbuf_process_msgtype
                brcmf_msgbuf_process_rx_complete(msgbuf, buf);
                break;
        default:
-               brcmf_err("Unsupported msgtype %d\n", msg->msgtype);
+               bphy_err(drvr, "Unsupported msgtype %d\n", msg->msgtype);
                break;
        }
 }
@@ -1377,7 +1388,7 @@ void brcmf_msgbuf_delete_flowring(struct
        brcmf_commonring_lock(commonring);
        ret_ptr = brcmf_commonring_reserve_for_write(commonring);
        if (!ret_ptr) {
-               brcmf_err("FW unaware, flowring will be removed !!\n");
+               bphy_err(drvr, "FW unaware, flowring will be removed !!\n");
                brcmf_commonring_unlock(commonring);
                brcmf_msgbuf_remove_flowring(msgbuf, flowid);
                return;
@@ -1401,7 +1412,7 @@ void brcmf_msgbuf_delete_flowring(struct
        err = brcmf_commonring_write_complete(commonring);
        brcmf_commonring_unlock(commonring);
        if (err) {
-               brcmf_err("Failed to submit RING_DELETE, flowring will be removed\n");
+               bphy_err(drvr, "Failed to submit RING_DELETE, flowring will be removed\n");
                brcmf_msgbuf_remove_flowring(msgbuf, flowid);
        }
 }
@@ -1476,8 +1487,8 @@ int brcmf_proto_msgbuf_attach(struct brc
        if_msgbuf = drvr->bus_if->msgbuf;
 
        if (if_msgbuf->max_flowrings >= BRCMF_FLOWRING_HASHSIZE) {
-               brcmf_err("driver not configured for this many flowrings %d\n",
-                         if_msgbuf->max_flowrings);
+               bphy_err(drvr, "driver not configured for this many flowrings %d\n",
+                        if_msgbuf->max_flowrings);
                if_msgbuf->max_flowrings = BRCMF_FLOWRING_HASHSIZE - 1;
        }
 
@@ -1487,7 +1498,7 @@ int brcmf_proto_msgbuf_attach(struct brc
 
        msgbuf->txflow_wq = create_singlethread_workqueue("msgbuf_txflow");
        if (msgbuf->txflow_wq == NULL) {
-               brcmf_err("workqueue creation failed\n");
+               bphy_err(drvr, "workqueue creation failed\n");
                goto fail;
        }
        INIT_WORK(&msgbuf->txflow_work, brcmf_msgbuf_txflow_worker);
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
@@ -434,6 +434,7 @@ static void brcmf_p2p_print_actframe(boo
  */
 static int brcmf_p2p_set_firmware(struct brcmf_if *ifp, u8 *p2p_mac)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        s32 ret = 0;
 
        brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1);
@@ -450,7 +451,7 @@ static int brcmf_p2p_set_firmware(struct
        ret = brcmf_fil_iovar_data_set(ifp, "p2p_da_override", p2p_mac,
                                       ETH_ALEN);
        if (ret)
-               brcmf_err("failed to update device address ret %d\n", ret);
+               bphy_err(drvr, "failed to update device address ret %d\n", ret);
 
        return ret;
 }
@@ -570,13 +571,14 @@ static s32 brcmf_p2p_deinit_discovery(st
  */
 static int brcmf_p2p_enable_discovery(struct brcmf_p2p_info *p2p)
 {
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        struct brcmf_cfg80211_vif *vif;
        s32 ret = 0;
 
        brcmf_dbg(TRACE, "enter\n");
        vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif;
        if (!vif) {
-               brcmf_err("P2P config device not available\n");
+               bphy_err(drvr, "P2P config device not available\n");
                ret = -EPERM;
                goto exit;
        }
@@ -590,13 +592,13 @@ static int brcmf_p2p_enable_discovery(st
        vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif;
        ret = brcmf_fil_iovar_int_set(vif->ifp, "p2p_disc", 1);
        if (ret < 0) {
-               brcmf_err("set p2p_disc error\n");
+               bphy_err(drvr, "set p2p_disc error\n");
                goto exit;
        }
        vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif;
        ret = brcmf_p2p_set_discover_state(vif->ifp, WL_P2P_DISC_ST_SCAN, 0, 0);
        if (ret < 0) {
-               brcmf_err("unable to set WL_P2P_DISC_ST_SCAN\n");
+               bphy_err(drvr, "unable to set WL_P2P_DISC_ST_SCAN\n");
                goto exit;
        }
 
@@ -608,7 +610,7 @@ static int brcmf_p2p_enable_discovery(st
         */
        ret = brcmf_fil_bsscfg_int_set(vif->ifp, "wsec", AES_ENABLED);
        if (ret < 0) {
-               brcmf_err("wsec error %d\n", ret);
+               bphy_err(drvr, "wsec error %d\n", ret);
                goto exit;
        }
 
@@ -630,6 +632,7 @@ static s32 brcmf_p2p_escan(struct brcmf_
                           u16 chanspecs[], s32 search_state,
                           enum p2p_bss_type bss_type)
 {
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        s32 ret = 0;
        s32 memsize = offsetof(struct brcmf_p2p_scan_le,
                               eparams.params_le.channel_list);
@@ -648,7 +651,7 @@ static s32 brcmf_p2p_escan(struct brcmf_
 
        vif = p2p->bss_idx[bss_type].vif;
        if (vif == NULL) {
-               brcmf_err("no vif for bss type %d\n", bss_type);
+               bphy_err(drvr, "no vif for bss type %d\n", bss_type);
                ret = -EINVAL;
                goto exit;
        }
@@ -676,7 +679,7 @@ static s32 brcmf_p2p_escan(struct brcmf_
                       BRCMF_P2P_WILDCARD_SSID_LEN);
                break;
        default:
-               brcmf_err(" invalid search state %d\n", search_state);
+               bphy_err(drvr, " invalid search state %d\n", search_state);
                ret = -EINVAL;
                goto exit;
        }
@@ -760,6 +763,7 @@ static s32 brcmf_p2p_run_escan(struct br
                               struct cfg80211_scan_request *request)
 {
        struct brcmf_p2p_info *p2p = &cfg->p2p;
+       struct brcmf_pub *drvr = cfg->pub;
        s32 err = 0;
        s32 search_state = WL_P2P_DISC_ST_SCAN;
        struct brcmf_cfg80211_vif *vif;
@@ -822,7 +826,7 @@ static s32 brcmf_p2p_run_escan(struct br
        }
 exit:
        if (err)
-               brcmf_err("error (%d)\n", err);
+               bphy_err(drvr, "error (%d)\n", err);
        return err;
 }
 
@@ -917,19 +921,20 @@ int brcmf_p2p_scan_prep(struct wiphy *wi
 static s32
 brcmf_p2p_discover_listen(struct brcmf_p2p_info *p2p, u16 channel, u32 duration)
 {
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        struct brcmf_cfg80211_vif *vif;
        struct brcmu_chan ch;
        s32 err = 0;
 
        vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE].vif;
        if (!vif) {
-               brcmf_err("Discovery is not set, so we have nothing to do\n");
+               bphy_err(drvr, "Discovery is not set, so we have nothing to do\n");
                err = -EPERM;
                goto exit;
        }
 
        if (test_bit(BRCMF_P2P_STATUS_DISCOVER_LISTEN, &p2p->status)) {
-               brcmf_err("Previous LISTEN is not completed yet\n");
+               bphy_err(drvr, "Previous LISTEN is not completed yet\n");
                /* WAR: prevent cookie mismatch in wpa_supplicant return OK */
                goto exit;
        }
@@ -1046,6 +1051,7 @@ void brcmf_p2p_cancel_remain_on_channel(
  */
 static s32 brcmf_p2p_act_frm_search(struct brcmf_p2p_info *p2p, u16 channel)
 {
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        s32 err;
        u32 channel_cnt;
        u16 *default_chan_list;
@@ -1061,7 +1067,7 @@ static s32 brcmf_p2p_act_frm_search(stru
        default_chan_list = kcalloc(channel_cnt, sizeof(*default_chan_list),
                                    GFP_KERNEL);
        if (default_chan_list == NULL) {
-               brcmf_err("channel list allocation failed\n");
+               bphy_err(drvr, "channel list allocation failed\n");
                err = -ENOMEM;
                goto exit;
        }
@@ -1103,6 +1109,7 @@ static void brcmf_p2p_afx_handler(struct
        struct brcmf_p2p_info *p2p = container_of(afx_hdl,
                                                  struct brcmf_p2p_info,
                                                  afx_hdl);
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        s32 err;
 
        if (!afx_hdl->is_active)
@@ -1116,7 +1123,7 @@ static void brcmf_p2p_afx_handler(struct
                err = brcmf_p2p_act_frm_search(p2p, afx_hdl->peer_listen_chan);
 
        if (err) {
-               brcmf_err("ERROR occurred! value is (%d)\n", err);
+               bphy_err(drvr, "ERROR occurred! value is (%d)\n", err);
                if (test_bit(BRCMF_P2P_STATUS_FINDING_COMMON_CHANNEL,
                             &p2p->status))
                        complete(&afx_hdl->act_frm_scan);
@@ -1338,7 +1345,8 @@ int brcmf_p2p_notify_action_frame_rx(str
                                     const struct brcmf_event_msg *e,
                                     void *data)
 {
-       struct brcmf_cfg80211_info *cfg = ifp->drvr->config;
+       struct brcmf_pub *drvr = ifp->drvr;
+       struct brcmf_cfg80211_info *cfg = drvr->config;
        struct brcmf_p2p_info *p2p = &cfg->p2p;
        struct afx_hdl *afx_hdl = &p2p->afx_hdl;
        struct wireless_dev *wdev;
@@ -1409,7 +1417,7 @@ int brcmf_p2p_notify_action_frame_rx(str
        mgmt_frame = kzalloc(offsetof(struct ieee80211_mgmt, u) +
                             mgmt_frame_len, GFP_KERNEL);
        if (!mgmt_frame) {
-               brcmf_err("No memory available for action frame\n");
+               bphy_err(drvr, "No memory available for action frame\n");
                return -ENOMEM;
        }
        memcpy(mgmt_frame->da, ifp->mac_addr, ETH_ALEN);
@@ -1492,6 +1500,7 @@ int brcmf_p2p_notify_action_tx_complete(
 static s32 brcmf_p2p_tx_action_frame(struct brcmf_p2p_info *p2p,
                                     struct brcmf_fil_af_params_le *af_params)
 {
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        struct brcmf_cfg80211_vif *vif;
        s32 err = 0;
        s32 timeout = 0;
@@ -1506,7 +1515,7 @@ static s32 brcmf_p2p_tx_action_frame(str
        err = brcmf_fil_bsscfg_data_set(vif->ifp, "actframe", af_params,
                                        sizeof(*af_params));
        if (err) {
-               brcmf_err(" sending action frame has failed\n");
+               bphy_err(drvr, " sending action frame has failed\n");
                goto exit;
        }
 
@@ -1556,6 +1565,7 @@ static s32 brcmf_p2p_pub_af_tx(struct br
                               struct brcmf_config_af_params *config_af_params)
 {
        struct brcmf_p2p_info *p2p = &cfg->p2p;
+       struct brcmf_pub *drvr = cfg->pub;
        struct brcmf_fil_action_frame_le *action_frame;
        struct brcmf_p2p_pub_act_frame *act_frm;
        s32 err = 0;
@@ -1634,8 +1644,8 @@ static s32 brcmf_p2p_pub_af_tx(struct br
                config_af_params->extra_listen = false;
                break;
        default:
-               brcmf_err("Unknown p2p pub act frame subtype: %d\n",
-                         act_frm->subtype);
+               bphy_err(drvr, "Unknown p2p pub act frame subtype: %d\n",
+                        act_frm->subtype);
                err = -EINVAL;
        }
        return err;
@@ -1657,6 +1667,7 @@ bool brcmf_p2p_send_action_frame(struct
        struct brcmf_fil_action_frame_le *action_frame;
        struct brcmf_config_af_params config_af_params;
        struct afx_hdl *afx_hdl = &p2p->afx_hdl;
+       struct brcmf_pub *drvr = cfg->pub;
        u16 action_frame_len;
        bool ack = false;
        u8 category;
@@ -1692,7 +1703,7 @@ bool brcmf_p2p_send_action_frame(struct
                if (brcmf_p2p_pub_af_tx(cfg, af_params, &config_af_params)) {
                        /* Just send unknown subtype frame with */
                        /* default parameters.                  */
-                       brcmf_err("P2P Public action frame, unknown subtype.\n");
+                       bphy_err(drvr, "P2P Public action frame, unknown subtype.\n");
                }
        } else if (brcmf_p2p_is_gas_action(action_frame->data,
                                           action_frame_len)) {
@@ -1714,7 +1725,7 @@ bool brcmf_p2p_send_action_frame(struct
                        af_params->dwell_time =
                                cpu_to_le32(P2P_AF_MIN_DWELL_TIME);
                } else {
-                       brcmf_err("Unknown action type: %d\n", action);
+                       bphy_err(drvr, "Unknown action type: %d\n", action);
                        goto exit;
                }
        } else if (brcmf_p2p_is_p2p_action(action_frame->data,
@@ -1722,8 +1733,8 @@ bool brcmf_p2p_send_action_frame(struct
                /* do not configure anything. it will be */
                /* sent with a default configuration     */
        } else {
-               brcmf_err("Unknown Frame: category 0x%x, action 0x%x\n",
-                         category, action);
+               bphy_err(drvr, "Unknown Frame: category 0x%x, action 0x%x\n",
+                        category, action);
                return false;
        }
 
@@ -1761,7 +1772,7 @@ bool brcmf_p2p_send_action_frame(struct
 
                if (brcmf_p2p_af_searching_channel(p2p) ==
                                                        P2P_INVALID_CHANNEL) {
-                       brcmf_err("Couldn't find peer's channel.\n");
+                       bphy_err(drvr, "Couldn't find peer's channel.\n");
                        goto exit;
                }
 
@@ -1783,7 +1794,8 @@ bool brcmf_p2p_send_action_frame(struct
                tx_retry++;
        }
        if (ack == false) {
-               brcmf_err("Failed to send Action Frame(retry %d)\n", tx_retry);
+               bphy_err(drvr, "Failed to send Action Frame(retry %d)\n",
+                        tx_retry);
                clear_bit(BRCMF_P2P_STATUS_GO_NEG_PHASE, &p2p->status);
        }
 
@@ -1965,6 +1977,7 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
                       enum brcmf_fil_p2p_if_types if_type)
 {
        struct brcmf_p2p_info *p2p = &cfg->p2p;
+       struct brcmf_pub *drvr = cfg->pub;
        struct brcmf_cfg80211_vif *vif;
        struct brcmf_fil_p2p_if_le if_request;
        s32 err;
@@ -1974,13 +1987,13 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
 
        vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif;
        if (!vif) {
-               brcmf_err("vif for P2PAPI_BSSCFG_PRIMARY does not exist\n");
+               bphy_err(drvr, "vif for P2PAPI_BSSCFG_PRIMARY does not exist\n");
                return -EPERM;
        }
        brcmf_notify_escan_complete(cfg, vif->ifp, true, true);
        vif = p2p->bss_idx[P2PAPI_BSSCFG_CONNECTION].vif;
        if (!vif) {
-               brcmf_err("vif for P2PAPI_BSSCFG_CONNECTION does not exist\n");
+               bphy_err(drvr, "vif for P2PAPI_BSSCFG_CONNECTION does not exist\n");
                return -EPERM;
        }
        brcmf_set_mpc(vif->ifp, 0);
@@ -1998,7 +2011,7 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
        err = brcmf_fil_iovar_data_set(vif->ifp, "p2p_ifupd", &if_request,
                                       sizeof(if_request));
        if (err) {
-               brcmf_err("p2p_ifupd FAILED, err=%d\n", err);
+               bphy_err(drvr, "p2p_ifupd FAILED, err=%d\n", err);
                brcmf_cfg80211_arm_vif_event(cfg, NULL);
                return err;
        }
@@ -2006,7 +2019,7 @@ int brcmf_p2p_ifchange(struct brcmf_cfg8
                                            BRCMF_VIF_EVENT_TIMEOUT);
        brcmf_cfg80211_arm_vif_event(cfg, NULL);
        if (!err)  {
-               brcmf_err("No BRCMF_E_IF_CHANGE event received\n");
+               bphy_err(drvr, "No BRCMF_E_IF_CHANGE event received\n");
                return -EIO;
        }
 
@@ -2069,6 +2082,7 @@ static struct wireless_dev *brcmf_p2p_cr
                                                    struct wiphy *wiphy,
                                                    u8 *addr)
 {
+       struct brcmf_pub *drvr = p2p->cfg->pub;
        struct brcmf_cfg80211_vif *p2p_vif;
        struct brcmf_if *p2p_ifp;
        struct brcmf_if *pri_ifp;
@@ -2080,7 +2094,7 @@ static struct wireless_dev *brcmf_p2p_cr
 
        p2p_vif = brcmf_alloc_vif(p2p->cfg, NL80211_IFTYPE_P2P_DEVICE);
        if (IS_ERR(p2p_vif)) {
-               brcmf_err("could not create discovery vif\n");
+               bphy_err(drvr, "could not create discovery vif\n");
                return (struct wireless_dev *)p2p_vif;
        }
 
@@ -2088,7 +2102,7 @@ static struct wireless_dev *brcmf_p2p_cr
 
        /* firmware requires unique mac address for p2pdev interface */
        if (addr && ether_addr_equal(addr, pri_ifp->mac_addr)) {
-               brcmf_err("discovery vif must be different from primary interface\n");
+               bphy_err(drvr, "discovery vif must be different from primary interface\n");
                return ERR_PTR(-EINVAL);
        }
 
@@ -2101,7 +2115,7 @@ static struct wireless_dev *brcmf_p2p_cr
        /* Initialize P2P Discovery in the firmware */
        err = brcmf_fil_iovar_int_set(pri_ifp, "p2p_disc", 1);
        if (err < 0) {
-               brcmf_err("set p2p_disc error\n");
+               bphy_err(drvr, "set p2p_disc error\n");
                brcmf_fweh_p2pdev_setup(pri_ifp, false);
                brcmf_cfg80211_arm_vif_event(p2p->cfg, NULL);
                goto fail;
@@ -2113,7 +2127,7 @@ static struct wireless_dev *brcmf_p2p_cr
        brcmf_cfg80211_arm_vif_event(p2p->cfg, NULL);
        brcmf_fweh_p2pdev_setup(pri_ifp, false);
        if (!err) {
-               brcmf_err("timeout occurred\n");
+               bphy_err(drvr, "timeout occurred\n");
                err = -EIO;
                goto fail;
        }
@@ -2127,7 +2141,7 @@ static struct wireless_dev *brcmf_p2p_cr
        /* verify bsscfg index for P2P discovery */
        err = brcmf_fil_iovar_int_get(pri_ifp, "p2p_dev", &bsscfgidx);
        if (err < 0) {
-               brcmf_err("retrieving discover bsscfg index failed\n");
+               bphy_err(drvr, "retrieving discover bsscfg index failed\n");
                goto fail;
        }
 
@@ -2161,6 +2175,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
 {
        struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
        struct brcmf_if *ifp = netdev_priv(cfg_to_ndev(cfg));
+       struct brcmf_pub *drvr = cfg->pub;
        struct brcmf_cfg80211_vif *vif;
        enum brcmf_fil_p2p_if_types iftype;
        int err;
@@ -2201,7 +2216,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
                                            BRCMF_VIF_EVENT_TIMEOUT);
        brcmf_cfg80211_arm_vif_event(cfg, NULL);
        if (!err) {
-               brcmf_err("timeout occurred\n");
+               bphy_err(drvr, "timeout occurred\n");
                err = -EIO;
                goto fail;
        }
@@ -2209,7 +2224,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
        /* interface created in firmware */
        ifp = vif->ifp;
        if (!ifp) {
-               brcmf_err("no if pointer provided\n");
+               bphy_err(drvr, "no if pointer provided\n");
                err = -ENOENT;
                goto fail;
        }
@@ -2220,7 +2235,7 @@ struct wireless_dev *brcmf_p2p_add_vif(s
 #endif /* >= 3.17.0 */
        err = brcmf_net_attach(ifp, true);
        if (err) {
-               brcmf_err("Registering netdevice failed\n");
+               bphy_err(drvr, "Registering netdevice failed\n");
                free_netdev(ifp->ndev);
                goto fail;
        }
@@ -2375,6 +2390,7 @@ void brcmf_p2p_stop_device(struct wiphy
  */
 s32 brcmf_p2p_attach(struct brcmf_cfg80211_info *cfg, bool p2pdev_forced)
 {
+       struct brcmf_pub *drvr = cfg->pub;
        struct brcmf_p2p_info *p2p;
        struct brcmf_if *pri_ifp;
        s32 err = 0;
@@ -2389,7 +2405,7 @@ s32 brcmf_p2p_attach(struct brcmf_cfg802
        if (p2pdev_forced) {
                err_ptr = brcmf_p2p_create_p2pdev(p2p, NULL, NULL);
                if (IS_ERR(err_ptr)) {
-                       brcmf_err("P2P device creation failed.\n");
+                       bphy_err(drvr, "P2P device creation failed.\n");
                        err = PTR_ERR(err_ptr);
                }
        } else {
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c
@@ -109,6 +109,7 @@ static int brcmf_pno_channel_config(stru
 static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
                            u32 mscan, u32 bestn)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct brcmf_pno_param_le pfn_param;
        u16 flags;
        u32 pfnmem;
@@ -132,13 +133,13 @@ static int brcmf_pno_config(struct brcmf
                /* set bestn in firmware */
                err = brcmf_fil_iovar_int_set(ifp, "pfnmem", pfnmem);
                if (err < 0) {
-                       brcmf_err("failed to set pfnmem\n");
+                       bphy_err(drvr, "failed to set pfnmem\n");
                        goto exit;
                }
                /* get max mscan which the firmware supports */
                err = brcmf_fil_iovar_int_get(ifp, "pfnmem", &pfnmem);
                if (err < 0) {
-                       brcmf_err("failed to get pfnmem\n");
+                       bphy_err(drvr, "failed to get pfnmem\n");
                        goto exit;
                }
                mscan = min_t(u32, mscan, pfnmem);
@@ -152,7 +153,7 @@ static int brcmf_pno_config(struct brcmf
        err = brcmf_fil_iovar_data_set(ifp, "pfn_set", &pfn_param,
                                       sizeof(pfn_param));
        if (err)
-               brcmf_err("pfn_set failed, err=%d\n", err);
+               bphy_err(drvr, "pfn_set failed, err=%d\n", err);
 
 exit:
        return err;
@@ -160,6 +161,7 @@ exit:
 
 static int brcmf_pno_set_random(struct brcmf_if *ifp, struct brcmf_pno_info *pi)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct brcmf_pno_macaddr_le pfn_mac;
        u8 *mac_addr = NULL;
        u8 *mac_mask = NULL;
@@ -194,7 +196,7 @@ static int brcmf_pno_set_random(struct b
        err = brcmf_fil_iovar_data_set(ifp, "pfn_macaddr", &pfn_mac,
                                       sizeof(pfn_mac));
        if (err)
-               brcmf_err("pfn_macaddr failed, err=%d\n", err);
+               bphy_err(drvr, "pfn_macaddr failed, err=%d\n", err);
 
        return err;
 }
@@ -202,6 +204,7 @@ static int brcmf_pno_set_random(struct b
 static int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid,
                              bool active)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct brcmf_pno_net_param_le pfn;
        int err;
 
@@ -218,12 +221,13 @@ static int brcmf_pno_add_ssid(struct brc
        brcmf_dbg(SCAN, "adding ssid=%.32s (active=%d)\n", ssid->ssid, active);
        err = brcmf_fil_iovar_data_set(ifp, "pfn_add", &pfn, sizeof(pfn));
        if (err < 0)
-               brcmf_err("adding failed: err=%d\n", err);
+               bphy_err(drvr, "adding failed: err=%d\n", err);
        return err;
 }
 
 static int brcmf_pno_add_bssid(struct brcmf_if *ifp, const u8 *bssid)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct brcmf_pno_bssid_le bssid_cfg;
        int err;
 
@@ -234,7 +238,7 @@ static int brcmf_pno_add_bssid(struct br
        err = brcmf_fil_iovar_data_set(ifp, "pfn_add_bssid", &bssid_cfg,
                                       sizeof(bssid_cfg));
        if (err < 0)
-               brcmf_err("adding failed: err=%d\n", err);
+               bphy_err(drvr, "adding failed: err=%d\n", err);
        return err;
 }
 
@@ -258,6 +262,7 @@ static bool brcmf_is_ssid_active(struct
 
 static int brcmf_pno_clean(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        int ret;
 
        /* Disable pfn */
@@ -267,7 +272,7 @@ static int brcmf_pno_clean(struct brcmf_
                ret = brcmf_fil_iovar_data_set(ifp, "pfnclear", NULL, 0);
        }
        if (ret < 0)
-               brcmf_err("failed code %d\n", ret);
+               bphy_err(drvr, "failed code %d\n", ret);
 
        return ret;
 }
@@ -392,6 +397,7 @@ static int brcmf_pno_config_networks(str
 
 static int brcmf_pno_config_sched_scans(struct brcmf_if *ifp)
 {
+       struct brcmf_pub *drvr = ifp->drvr;
        struct brcmf_pno_info *pi;
        struct brcmf_gscan_config *gscan_cfg;
        struct brcmf_gscan_bucket_config *buckets;
@@ -416,7 +422,7 @@ static int brcmf_pno_config_sched_scans(
        /* clean up everything */
        err = brcmf_pno_clean(ifp);
        if  (err < 0) {
-               brcmf_err("failed error=%d\n", err);
+               bphy_err(drvr, "failed error=%d\n", err);
                goto free_gscan;
        }
 
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
@@ -47,8 +47,8 @@ int brcmf_proto_attach(struct brcmf_pub
                if (brcmf_proto_msgbuf_attach(drvr))
                        goto fail;
        } else {
-               brcmf_err("Unsupported proto type %d\n",
-                         drvr->bus_if->proto_type);
+               bphy_err(drvr, "Unsupported proto type %d\n",
+                        drvr->bus_if->proto_type);
                goto fail;
        }
        if (!proto->tx_queue_data || (proto->hdrpull == NULL) ||
@@ -56,7 +56,7 @@ int brcmf_proto_attach(struct brcmf_pub
            (proto->configure_addr_mode == NULL) ||
            (proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL) ||
            (proto->debugfs_create == NULL)) {
-               brcmf_err("Not all proto handlers have been installed\n");
+               bphy_err(drvr, "Not all proto handlers have been installed\n");
                goto fail;
        }
        return 0;