wifi: brcmfmac: export firmware interface functions
authorArend van Spriel <arend.vanspriel@broadcom.com>
Wed, 3 Jan 2024 09:57:01 +0000 (10:57 +0100)
committerKalle Valo <kvalo@kernel.org>
Fri, 19 Jan 2024 17:28:26 +0000 (19:28 +0200)
With multi-vendor support the vendor-specific module may need to use
the firmware interface functions so export them using the macro
BRCMF_EXPORT_SYMBOL_GPL() which exports them to driver namespace.

Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240103095704.135651-2-arend.vanspriel@broadcom.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.h

index 52df03243c9f138d5157dfcabc4c88897aba8d75..21096cff0c72f02c041e79f65688a7555a437c3f 100644 (file)
@@ -3080,7 +3080,7 @@ brcmf_cfg80211_get_station_ibss(struct brcmf_if *ifp,
        struct brcmf_scb_val_le scbval;
        struct brcmf_pktcnt_le pktcnt;
        s32 err;
-       u32 rate;
+       u32 rate = 0;
        u32 rssi;
 
        /* Get the current tx rate */
@@ -7268,7 +7268,7 @@ static int brcmf_setup_wiphybands(struct brcmf_cfg80211_info *cfg)
        u32 nmode = 0;
        u32 vhtmode = 0;
        u32 bw_cap[2] = { WLC_BW_20MHZ_BIT, WLC_BW_20MHZ_BIT };
-       u32 rxchain;
+       u32 rxchain = 0;
        u32 nchain;
        int err;
        s32 i;
index f599d5f896e89e7c81f3d5c44e07e06dfc02e1f4..a92f78026cfdac9b6b0ed32d134f220f667b2021 100644 (file)
@@ -691,7 +691,7 @@ static int brcmf_net_mon_open(struct net_device *ndev)
 {
        struct brcmf_if *ifp = netdev_priv(ndev);
        struct brcmf_pub *drvr = ifp->drvr;
-       u32 monitor;
+       u32 monitor = 0;
        int err;
 
        brcmf_dbg(TRACE, "Enter\n");
index 6d10c9efbe93d8f7af2fcd5602ce16fb27c0debb..7348f73680d633a07750a373cc084f60ecb1143e 100644 (file)
@@ -183,7 +183,7 @@ static void brcmf_feat_wlc_version_overrides(struct brcmf_pub *drv)
 static void brcmf_feat_iovar_int_get(struct brcmf_if *ifp,
                                     enum brcmf_feat_id id, char *name)
 {
-       u32 data;
+       u32 data = 0;
        int err;
 
        /* we need to know firmware error */
index 72fe8bce6eaf55eba2668d565713854673240742..2aec7d2abd52566aba213eaaa9efd293792f303b 100644 (file)
@@ -142,6 +142,7 @@ brcmf_fil_cmd_data_set(struct brcmf_if *ifp, u32 cmd, void *data, u32 len)
 
        return err;
 }
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_cmd_data_set);
 
 s32
 brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len)
@@ -160,36 +161,7 @@ brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len)
 
        return err;
 }
-
-
-s32
-brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data)
-{
-       s32 err;
-       __le32 data_le = cpu_to_le32(data);
-
-       mutex_lock(&ifp->drvr->proto_block);
-       brcmf_dbg(FIL, "ifidx=%d, cmd=%d, value=%d\n", ifp->ifidx, cmd, data);
-       err = brcmf_fil_cmd_data(ifp, cmd, &data_le, sizeof(data_le), true);
-       mutex_unlock(&ifp->drvr->proto_block);
-
-       return err;
-}
-
-s32
-brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data)
-{
-       s32 err;
-       __le32 data_le = cpu_to_le32(*data);
-
-       mutex_lock(&ifp->drvr->proto_block);
-       err = brcmf_fil_cmd_data(ifp, cmd, &data_le, sizeof(data_le), false);
-       mutex_unlock(&ifp->drvr->proto_block);
-       *data = le32_to_cpu(data_le);
-       brcmf_dbg(FIL, "ifidx=%d, cmd=%d, value=%d\n", ifp->ifidx, cmd, *data);
-
-       return err;
-}
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_cmd_data_get);
 
 static u32
 brcmf_create_iovar(const char *name, const char *data, u32 datalen,
@@ -270,26 +242,7 @@ brcmf_fil_iovar_data_get(struct brcmf_if *ifp, const char *name, void *data,
        mutex_unlock(&drvr->proto_block);
        return err;
 }
-
-s32
-brcmf_fil_iovar_int_set(struct brcmf_if *ifp, const char *name, u32 data)
-{
-       __le32 data_le = cpu_to_le32(data);
-
-       return brcmf_fil_iovar_data_set(ifp, name, &data_le, sizeof(data_le));
-}
-
-s32
-brcmf_fil_iovar_int_get(struct brcmf_if *ifp, const char *name, u32 *data)
-{
-       __le32 data_le = cpu_to_le32(*data);
-       s32 err;
-
-       err = brcmf_fil_iovar_data_get(ifp, name, &data_le, sizeof(data_le));
-       if (err == 0)
-               *data = le32_to_cpu(data_le);
-       return err;
-}
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_iovar_data_get);
 
 static u32
 brcmf_create_bsscfg(s32 bsscfgidx, const char *name, char *data, u32 datalen,
@@ -364,6 +317,7 @@ brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, const char *name,
        mutex_unlock(&drvr->proto_block);
        return err;
 }
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_bsscfg_data_set);
 
 s32
 brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, const char *name,
@@ -394,28 +348,7 @@ brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, const char *name,
        mutex_unlock(&drvr->proto_block);
        return err;
 }
-
-s32
-brcmf_fil_bsscfg_int_set(struct brcmf_if *ifp, const char *name, u32 data)
-{
-       __le32 data_le = cpu_to_le32(data);
-
-       return brcmf_fil_bsscfg_data_set(ifp, name, &data_le,
-                                        sizeof(data_le));
-}
-
-s32
-brcmf_fil_bsscfg_int_get(struct brcmf_if *ifp, const char *name, u32 *data)
-{
-       __le32 data_le = cpu_to_le32(*data);
-       s32 err;
-
-       err = brcmf_fil_bsscfg_data_get(ifp, name, &data_le,
-                                       sizeof(data_le));
-       if (err == 0)
-               *data = le32_to_cpu(data_le);
-       return err;
-}
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_bsscfg_data_get);
 
 static u32 brcmf_create_xtlv(const char *name, u16 id, char *data, u32 len,
                             char *buf, u32 buflen)
@@ -465,6 +398,7 @@ s32 brcmf_fil_xtlv_data_set(struct brcmf_if *ifp, const char *name, u16 id,
        mutex_unlock(&drvr->proto_block);
        return err;
 }
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_xtlv_data_set);
 
 s32 brcmf_fil_xtlv_data_get(struct brcmf_if *ifp, const char *name, u16 id,
                            void *data, u32 len)
@@ -494,39 +428,4 @@ s32 brcmf_fil_xtlv_data_get(struct brcmf_if *ifp, const char *name, u16 id,
        mutex_unlock(&drvr->proto_block);
        return err;
 }
-
-s32 brcmf_fil_xtlv_int_set(struct brcmf_if *ifp, const char *name, u16 id, u32 data)
-{
-       __le32 data_le = cpu_to_le32(data);
-
-       return brcmf_fil_xtlv_data_set(ifp, name, id, &data_le,
-                                        sizeof(data_le));
-}
-
-s32 brcmf_fil_xtlv_int_get(struct brcmf_if *ifp, const char *name, u16 id, u32 *data)
-{
-       __le32 data_le = cpu_to_le32(*data);
-       s32 err;
-
-       err = brcmf_fil_xtlv_data_get(ifp, name, id, &data_le, sizeof(data_le));
-       if (err == 0)
-               *data = le32_to_cpu(data_le);
-       return err;
-}
-
-s32 brcmf_fil_xtlv_int8_get(struct brcmf_if *ifp, const char *name, u16 id, u8 *data)
-{
-       return brcmf_fil_xtlv_data_get(ifp, name, id, data, sizeof(*data));
-}
-
-s32 brcmf_fil_xtlv_int16_get(struct brcmf_if *ifp, const char *name, u16 id, u16 *data)
-{
-       __le16 data_le = cpu_to_le16(*data);
-       s32 err;
-
-       err = brcmf_fil_xtlv_data_get(ifp, name, id, &data_le, sizeof(data_le));
-       if (err == 0)
-               *data = le16_to_cpu(data_le);
-       return err;
-}
-
+BRCMF_EXPORT_SYMBOL_GPL(brcmf_fil_xtlv_data_get);
\ No newline at end of file
index bc693157c4b1c8e089969ec8a92c2357e28c6ff2..a315a7fac6a06f93f3c827d3ab63ed0e125c8f20 100644 (file)
 
 s32 brcmf_fil_cmd_data_set(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
 s32 brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
-s32 brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data);
-s32 brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data);
+static inline
+s32 brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data)
+{
+       s32 err;
+       __le32 data_le = cpu_to_le32(data);
 
-s32 brcmf_fil_iovar_data_set(struct brcmf_if *ifp, const char *name, const void *data,
-                            u32 len);
+       brcmf_dbg(FIL, "ifidx=%d, cmd=%d, value=%d\n", ifp->ifidx, cmd, data);
+       err = brcmf_fil_cmd_data_set(ifp, cmd, &data_le, sizeof(data_le));
+
+       return err;
+}
+static inline
+s32 brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data)
+{
+       s32 err;
+       __le32 data_le = cpu_to_le32(*data);
+
+       err = brcmf_fil_cmd_data_get(ifp, cmd, &data_le, sizeof(data_le));
+       if (err == 0)
+               *data = le32_to_cpu(data_le);
+       brcmf_dbg(FIL, "ifidx=%d, cmd=%d, value=%d\n", ifp->ifidx, cmd, *data);
+
+       return err;
+}
+
+s32 brcmf_fil_iovar_data_set(struct brcmf_if *ifp, const char *name,
+                            const void *data, u32 len);
 s32 brcmf_fil_iovar_data_get(struct brcmf_if *ifp, const char *name, void *data,
                             u32 len);
-s32 brcmf_fil_iovar_int_set(struct brcmf_if *ifp, const char *name, u32 data);
-s32 brcmf_fil_iovar_int_get(struct brcmf_if *ifp, const char *name, u32 *data);
-
-s32 brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, const char *name, void *data,
-                             u32 len);
-s32 brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, const char *name, void *data,
-                             u32 len);
-s32 brcmf_fil_bsscfg_int_set(struct brcmf_if *ifp, const char *name, u32 data);
-s32 brcmf_fil_bsscfg_int_get(struct brcmf_if *ifp, const char *name, u32 *data);
+static inline
+s32 brcmf_fil_iovar_int_set(struct brcmf_if *ifp, const char *name, u32 data)
+{
+       __le32 data_le = cpu_to_le32(data);
+
+       return brcmf_fil_iovar_data_set(ifp, name, &data_le, sizeof(data_le));
+}
+static inline
+s32 brcmf_fil_iovar_int_get(struct brcmf_if *ifp, const char *name, u32 *data)
+{
+       __le32 data_le = cpu_to_le32(*data);
+       s32 err;
+
+       err = brcmf_fil_iovar_data_get(ifp, name, &data_le, sizeof(data_le));
+       if (err == 0)
+               *data = le32_to_cpu(data_le);
+       return err;
+}
+
+
+s32 brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, const char *name,
+                             void *data, u32 len);
+s32 brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, const char *name,
+                             void *data, u32 len);
+static inline
+s32 brcmf_fil_bsscfg_int_set(struct brcmf_if *ifp, const char *name, u32 data)
+{
+       __le32 data_le = cpu_to_le32(data);
+
+       return brcmf_fil_bsscfg_data_set(ifp, name, &data_le,
+                                        sizeof(data_le));
+}
+static inline
+s32 brcmf_fil_bsscfg_int_get(struct brcmf_if *ifp, const char *name, u32 *data)
+{
+       __le32 data_le = cpu_to_le32(*data);
+       s32 err;
+
+       err = brcmf_fil_bsscfg_data_get(ifp, name, &data_le,
+                                       sizeof(data_le));
+       if (err == 0)
+               *data = le32_to_cpu(data_le);
+       return err;
+}
+
 s32 brcmf_fil_xtlv_data_set(struct brcmf_if *ifp, const char *name, u16 id,
                            void *data, u32 len);
 s32 brcmf_fil_xtlv_data_get(struct brcmf_if *ifp, const char *name, u16 id,
                            void *data, u32 len);
-s32 brcmf_fil_xtlv_int_set(struct brcmf_if *ifp, const char *name, u16 id, u32 data);
-s32 brcmf_fil_xtlv_int_get(struct brcmf_if *ifp, const char *name, u16 id, u32 *data);
-s32 brcmf_fil_xtlv_int8_get(struct brcmf_if *ifp, const char *name, u16 id, u8 *data);
-s32 brcmf_fil_xtlv_int16_get(struct brcmf_if *ifp, const char *name, u16 id, u16 *data);
+static inline
+s32 brcmf_fil_xtlv_int_set(struct brcmf_if *ifp, const char *name, u16 id,
+                          u32 data)
+{
+       __le32 data_le = cpu_to_le32(data);
+
+       return brcmf_fil_xtlv_data_set(ifp, name, id, &data_le,
+                                        sizeof(data_le));
+}
+static inline
+s32 brcmf_fil_xtlv_int_get(struct brcmf_if *ifp, const char *name, u16 id,
+                          u32 *data)
+{
+       __le32 data_le = cpu_to_le32(*data);
+       s32 err;
+
+       err = brcmf_fil_xtlv_data_get(ifp, name, id, &data_le, sizeof(data_le));
+       if (err == 0)
+               *data = le32_to_cpu(data_le);
+       return err;
+}
+static inline
+s32 brcmf_fil_xtlv_int8_get(struct brcmf_if *ifp, const char *name, u16 id,
+                           u8 *data)
+{
+       return brcmf_fil_xtlv_data_get(ifp, name, id, data, sizeof(*data));
+}
+static inline
+s32 brcmf_fil_xtlv_int16_get(struct brcmf_if *ifp, const char *name, u16 id,
+                            u16 *data)
+{
+       __le16 data_le = cpu_to_le16(*data);
+       s32 err;
+
+       err = brcmf_fil_xtlv_data_get(ifp, name, id, &data_le, sizeof(data_le));
+       if (err == 0)
+               *data = le16_to_cpu(data_le);
+       return err;
+}
 
 #endif /* _fwil_h_ */