wifi: brcmfmac: export firmware interface functions
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
This commit is contained in:
parent
0f7352557a
commit
31343230ab
@ -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;
|
||||
|
@ -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");
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
@ -81,29 +81,122 @@
|
||||
|
||||
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);
|
||||
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_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);
|
||||
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_ */
|
||||
|
Loading…
Reference in New Issue
Block a user