0001
0002
0003
0004
0005 #ifndef BRCMFMAC_COMMON_H
0006 #define BRCMFMAC_COMMON_H
0007
0008 #include <linux/platform_device.h>
0009 #include <linux/platform_data/brcmfmac.h>
0010 #include "fwil_types.h"
0011
0012 #define BRCMF_FW_ALTPATH_LEN 256
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 struct brcmf_mp_global_t {
0028 char firmware_path[BRCMF_FW_ALTPATH_LEN];
0029 };
0030
0031 extern struct brcmf_mp_global_t brcmf_mp_global;
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045 struct brcmf_mp_device {
0046 bool p2p_enable;
0047 unsigned int feature_disable;
0048 int fcmode;
0049 bool roamoff;
0050 bool iapp;
0051 bool ignore_probe_fail;
0052 bool trivial_ccode_map;
0053 struct brcmfmac_pd_cc *country_codes;
0054 const char *board_type;
0055 unsigned char mac[ETH_ALEN];
0056 union {
0057 struct brcmfmac_sdio_pd sdio;
0058 } bus;
0059 };
0060
0061 void brcmf_c_set_joinpref_default(struct brcmf_if *ifp);
0062
0063 struct brcmf_mp_device *brcmf_get_module_param(struct device *dev,
0064 enum brcmf_bus_type bus_type,
0065 u32 chip, u32 chiprev);
0066 void brcmf_release_module_param(struct brcmf_mp_device *module_param);
0067
0068
0069 int brcmf_c_preinit_dcmds(struct brcmf_if *ifp);
0070 int brcmf_c_set_cur_etheraddr(struct brcmf_if *ifp, const u8 *addr);
0071
0072 #ifdef CONFIG_DMI
0073 void brcmf_dmi_probe(struct brcmf_mp_device *settings, u32 chip, u32 chiprev);
0074 #else
0075 static inline void
0076 brcmf_dmi_probe(struct brcmf_mp_device *settings, u32 chip, u32 chiprev) {}
0077 #endif
0078
0079 u8 brcmf_map_prio_to_prec(void *cfg, u8 prio);
0080
0081 u8 brcmf_map_prio_to_aci(void *cfg, u8 prio);
0082
0083 #endif