0001
0002
0003
0004
0005
0006 #ifndef ATH11K_REG_H
0007 #define ATH11K_REG_H
0008
0009 #include <linux/kernel.h>
0010 #include <net/regulatory.h>
0011
0012 struct ath11k_base;
0013 struct ath11k;
0014
0015
0016 enum ath11k_dfs_region {
0017 ATH11K_DFS_REG_UNSET,
0018 ATH11K_DFS_REG_FCC,
0019 ATH11K_DFS_REG_ETSI,
0020 ATH11K_DFS_REG_MKK,
0021 ATH11K_DFS_REG_CN,
0022 ATH11K_DFS_REG_KR,
0023 ATH11K_DFS_REG_MKK_N,
0024 ATH11K_DFS_REG_UNDEF,
0025 };
0026
0027
0028 void ath11k_reg_init(struct ath11k *ar);
0029 void ath11k_reg_free(struct ath11k_base *ab);
0030 void ath11k_regd_update_work(struct work_struct *work);
0031 struct ieee80211_regdomain *
0032 ath11k_reg_build_regd(struct ath11k_base *ab,
0033 struct cur_regulatory_info *reg_info, bool intersect);
0034 int ath11k_regd_update(struct ath11k *ar);
0035 int ath11k_reg_update_chan_list(struct ath11k *ar, bool wait);
0036 #endif