qcacmn: Added API to get the current country code

API is added to get the current country code from Regdb component.

Change-Id: I9c9e7027c9e99f31f72d4a0222d4db1dfa8a7baa
CRs-Fixed: 2002892
This commit is contained in:
Baila, Shashikala Prabhu 2017-05-05 09:03:58 +05:30
commit 08fd8610b3
7 changed files with 49 additions and 13 deletions

View file

@ -858,21 +858,21 @@ const struct regdomain regdomains_5g[] = {
CHAN_5735_5835_5} },
};
QDF_STATUS get_num_countries(int *num_countries)
QDF_STATUS reg_get_num_countries(int *num_countries)
{
*num_countries = QDF_ARRAY_SIZE(g_all_countries);
return QDF_STATUS_SUCCESS;
}
QDF_STATUS get_num_reg_dmn_pairs(int *num_reg_dmn)
QDF_STATUS reg_get_num_reg_dmn_pairs(int *num_reg_dmn)
{
*num_reg_dmn = QDF_ARRAY_SIZE(g_reg_dmn_pairs);
return QDF_STATUS_SUCCESS;
}
QDF_STATUS get_default_country(uint16_t *default_country)
QDF_STATUS reg_get_default_country(uint16_t *default_country)
{
*default_country = CTRY_UNITED_STATES;

View file

@ -146,10 +146,10 @@ enum ctl_value {
CTL_NONE = 0xff
};
QDF_STATUS get_num_countries(int *num_countries);
QDF_STATUS reg_get_num_countries(int *num_countries);
QDF_STATUS get_num_reg_dmn_pairs(int *num_reg_dmn);
QDF_STATUS reg_get_num_reg_dmn_pairs(int *num_reg_dmn);
QDF_STATUS get_default_country(uint16_t *default_country);
QDF_STATUS reg_get_default_country(uint16_t *default_country);
#endif

View file

@ -32,7 +32,7 @@ QDF_STATUS reg_is_country_code_valid(uint8_t alpha[3])
uint16_t i;
int num_countries;
get_num_countries(&num_countries);
reg_get_num_countries(&num_countries);
for (i = 0; i < num_countries; i++) {
if ((g_all_countries[i].alpha2[0] == alpha[0]) &&
@ -95,8 +95,8 @@ QDF_STATUS reg_get_rdpair_from_country_iso(uint8_t *alpha,
int num_countries;
int num_reg_dmn;
get_num_countries(&num_countries);
get_num_reg_dmn_pairs(&num_reg_dmn);
reg_get_num_countries(&num_countries);
reg_get_num_reg_dmn_pairs(&num_reg_dmn);
for (i = 0; i < num_countries; i++) {
if ((g_all_countries[i].alpha2[0] == alpha[0]) &&
@ -133,7 +133,7 @@ QDF_STATUS reg_get_rdpair_from_regdmn_id(uint16_t regdmn_id,
uint16_t j;
int num_reg_dmn;
get_num_reg_dmn_pairs(&num_reg_dmn);
reg_get_num_reg_dmn_pairs(&num_reg_dmn);
for (j = 0; j < num_reg_dmn; j++) {
if (g_reg_dmn_pairs[j].reg_dmn_pair_id == regdmn_id)
@ -158,8 +158,8 @@ QDF_STATUS reg_get_rdpair_from_country_code(uint16_t cc,
int num_countries;
int num_reg_dmn;
get_num_countries(&num_countries);
get_num_reg_dmn_pairs(&num_reg_dmn);
reg_get_num_countries(&num_countries);
reg_get_num_reg_dmn_pairs(&num_reg_dmn);
for (i = 0; i < num_countries; i++) {
if (g_all_countries[i].country_code == cc)

View file

@ -2048,7 +2048,7 @@ QDF_STATUS reg_program_default_cc(struct wlan_objmgr_psoc *psoc,
reg_info->psoc = psoc;
if (regdmn == 0) {
get_default_country(&regdmn);
reg_get_default_country(&regdmn);
regdmn |= COUNTRY_ERD_FLAG;
}
@ -2164,3 +2164,27 @@ QDF_STATUS reg_program_chan_list(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
QDF_STATUS reg_get_current_cc(struct wlan_objmgr_psoc *psoc,
struct cc_regdmn_s *rd)
{
struct wlan_regulatory_psoc_priv_obj *soc_reg;
soc_reg = (struct wlan_regulatory_psoc_priv_obj *)
wlan_objmgr_psoc_get_comp_private_obj(psoc,
WLAN_UMAC_COMP_REGULATORY);
if (NULL == soc_reg) {
reg_err("reg soc is NULL");
return QDF_STATUS_E_FAILURE;
}
if (soc_reg->offload_enabled)
return QDF_STATUS_E_FAILURE;
if (rd->flags == CC_IS_SET) {
rd->cc.country_code = soc_reg->ctry_code;
}
return QDF_STATUS_SUCCESS;
}

View file

@ -230,4 +230,7 @@ void reg_program_mas_chan_list(struct wlan_objmgr_psoc *psoc,
QDF_STATUS reg_program_default_cc(struct wlan_objmgr_psoc *psoc,
uint16_t regdmn);
QDF_STATUS reg_get_current_cc(struct wlan_objmgr_psoc *psoc,
struct cc_regdmn_s *rd);
#endif

View file

@ -52,6 +52,9 @@ QDF_STATUS ucfg_reg_program_default_cc(struct wlan_objmgr_psoc *psoc,
QDF_STATUS ucfg_reg_program_cc(struct wlan_objmgr_psoc *psoc,
struct cc_regdmn_s *rd);
QDF_STATUS ucfg_reg_get_current_cc(struct wlan_objmgr_psoc *psoc,
struct cc_regdmn_s *rd);
/**
* ucfg_reg_set_config_vars () - Set the config vars in reg component
* @psoc: psoc ptr

View file

@ -125,3 +125,9 @@ QDF_STATUS ucfg_reg_program_cc(struct wlan_objmgr_psoc *psoc,
{
return reg_program_chan_list(psoc, rd);
}
QDF_STATUS ucfg_reg_get_current_cc(struct wlan_objmgr_psoc *psoc,
struct cc_regdmn_s *rd)
{
return reg_get_current_cc(psoc, rd);
}