mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 22:40:54 -04:00
qcacmn: Use sizeof of reg_rule structure instead of using macro
Since the array size can be specified by a different macro or a different value in future, let the compiler calculate the array size directly instead of using the hard-coded value of the macro. Change-Id: I3fb1719db5165d0155e73c0653ec6f13fa95f69a CRs-Fixed: 2002892
This commit is contained in:
parent
38dba64552
commit
ae875e5d5a
2 changed files with 32 additions and 22 deletions
|
|
@ -157,21 +157,25 @@ QDF_STATUS reg_get_rdpair_from_country_code(uint16_t cc,
|
|||
}
|
||||
|
||||
static inline QDF_STATUS reg_get_reginfo_form_country_code_and_regdmn_pair(
|
||||
uint32_t max_rules,
|
||||
struct cur_regulatory_info *reg_info,
|
||||
uint16_t country_index,
|
||||
uint16_t regdmn_pair)
|
||||
{
|
||||
uint16_t i, j;
|
||||
uint8_t rule_size_2g, rule_size_5g;
|
||||
|
||||
i = country_index;
|
||||
j = regdmn_pair;
|
||||
|
||||
if ((max_rules >=
|
||||
rule_size_2g = QDF_ARRAY_SIZE(
|
||||
regdomains_2g[g_reg_dmn_pairs[j].dmn_id_2g].reg_rule_id);
|
||||
rule_size_5g = QDF_ARRAY_SIZE(
|
||||
regdomains_5g[g_reg_dmn_pairs[j].dmn_id_5g].reg_rule_id);
|
||||
|
||||
if (((rule_size_2g + rule_size_5g) >=
|
||||
regdomains_2g[g_reg_dmn_pairs[j].dmn_id_2g].num_reg_rules +
|
||||
regdomains_5g[g_reg_dmn_pairs[j].dmn_id_5g].num_reg_rules)
|
||||
) {
|
||||
|
||||
reg_info->dfs_region =
|
||||
regdomains_5g[g_reg_dmn_pairs[j].dmn_id_5g].dfs_region;
|
||||
reg_info->phybitmap = g_all_countries[i].phymode_bitmap;
|
||||
|
|
@ -197,25 +201,28 @@ static inline QDF_STATUS reg_get_reginfo_form_country_code_and_regdmn_pair(
|
|||
g_reg_dmn_pairs[j].dmn_id_5g, reg_info);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
} else if (!((max_rules >= regdomains_2g[
|
||||
g_reg_dmn_pairs[j].dmn_id_2g].num_reg_rules +
|
||||
regdomains_5g[
|
||||
g_reg_dmn_pairs[j].dmn_id_5g].num_reg_rules)))
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
} else if (!(((rule_size_2g + rule_size_5g) >=
|
||||
regdomains_2g[g_reg_dmn_pairs[j].dmn_id_2g].num_reg_rules +
|
||||
regdomains_5g[g_reg_dmn_pairs[j].dmn_id_5g].num_reg_rules)))
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS reg_get_reginfo_form_regdmn_pair(
|
||||
uint32_t max_rules,
|
||||
struct cur_regulatory_info *reg_info,
|
||||
uint16_t regdmn_pair)
|
||||
{
|
||||
uint16_t j;
|
||||
uint8_t rule_size_2g, rule_size_5g;
|
||||
|
||||
j = regdmn_pair;
|
||||
rule_size_2g = QDF_ARRAY_SIZE(
|
||||
regdomains_2g[g_reg_dmn_pairs[j].dmn_id_2g].reg_rule_id);
|
||||
rule_size_5g = QDF_ARRAY_SIZE(
|
||||
regdomains_5g[g_reg_dmn_pairs[j].dmn_id_5g].reg_rule_id);
|
||||
|
||||
if ((max_rules >=
|
||||
if (((rule_size_2g + rule_size_5g) >=
|
||||
regdomains_2g[g_reg_dmn_pairs[j].dmn_id_2g].num_reg_rules +
|
||||
regdomains_5g[g_reg_dmn_pairs[j].dmn_id_5g].num_reg_rules)
|
||||
) {
|
||||
|
|
@ -245,7 +252,7 @@ static inline QDF_STATUS reg_get_reginfo_form_regdmn_pair(
|
|||
g_reg_dmn_pairs[j].dmn_id_5g, reg_info);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
} else if (!((max_rules >= regdomains_2g[
|
||||
} else if (!(((rule_size_2g + rule_size_5g) >= regdomains_2g[
|
||||
g_reg_dmn_pairs[j].dmn_id_2g].num_reg_rules +
|
||||
regdomains_5g[
|
||||
g_reg_dmn_pairs[j].dmn_id_5g].num_reg_rules)))
|
||||
|
|
@ -255,17 +262,25 @@ static inline QDF_STATUS reg_get_reginfo_form_regdmn_pair(
|
|||
}
|
||||
|
||||
static inline QDF_STATUS reg_get_reginfo_for_default_regdmn_pair(
|
||||
uint32_t max_rules,
|
||||
struct cur_regulatory_info *reg_info)
|
||||
struct cur_regulatory_info *reg_info,
|
||||
uint16_t regdmn_pair)
|
||||
{
|
||||
int default_country_2g;
|
||||
int default_country_5g;
|
||||
uint8_t rule_size_2g, rule_size_5g;
|
||||
|
||||
get_default_country_2g(&default_country_2g);
|
||||
get_default_country_5g(&default_country_5g);
|
||||
|
||||
if ((max_rules >= regdomains_2g[default_country_2g].num_reg_rules +
|
||||
rule_size_2g =
|
||||
QDF_ARRAY_SIZE(regdomains_2g[default_country_2g].reg_rule_id);
|
||||
rule_size_5g =
|
||||
QDF_ARRAY_SIZE(regdomains_5g[default_country_5g].reg_rule_id);
|
||||
|
||||
if (((rule_size_2g + rule_size_5g) >=
|
||||
regdomains_2g[default_country_2g].num_reg_rules +
|
||||
regdomains_5g[default_country_5g].num_reg_rules)) {
|
||||
|
||||
reg_info->dfs_region =
|
||||
regdomains_5g[default_country_5g].dfs_region;
|
||||
reg_info->phybitmap = 0;
|
||||
|
|
@ -288,7 +303,7 @@ static inline QDF_STATUS reg_get_reginfo_for_default_regdmn_pair(
|
|||
default_country_5g, reg_info);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
} else if (!((max_rules >=
|
||||
} else if (!(((rule_size_2g + rule_size_5g) >=
|
||||
regdomains_2g[default_country_2g].num_reg_rules +
|
||||
regdomains_5g[default_country_5g].num_reg_rules)))
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
|
|
@ -296,27 +311,23 @@ static inline QDF_STATUS reg_get_reginfo_for_default_regdmn_pair(
|
|||
}
|
||||
|
||||
/* Given a country code the function finds current regulatory information */
|
||||
QDF_STATUS reg_get_cur_reginfo(uint32_t max_rules,
|
||||
struct cur_regulatory_info *reg_info,
|
||||
QDF_STATUS reg_get_cur_reginfo(struct cur_regulatory_info *reg_info,
|
||||
uint16_t country_index,
|
||||
uint16_t regdmn_pair)
|
||||
{
|
||||
if ((country_index != (uint16_t)(-1)) &&
|
||||
(regdmn_pair != (uint16_t)(-1)))
|
||||
reg_get_reginfo_form_country_code_and_regdmn_pair(
|
||||
max_rules,
|
||||
reg_info,
|
||||
country_index,
|
||||
regdmn_pair);
|
||||
else {
|
||||
if (regdmn_pair != (uint16_t)(-1))
|
||||
reg_get_reginfo_form_regdmn_pair(
|
||||
max_rules,
|
||||
reg_info,
|
||||
regdmn_pair);
|
||||
else
|
||||
reg_get_reginfo_for_default_regdmn_pair(
|
||||
max_rules,
|
||||
reg_info);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,7 @@ QDF_STATUS reg_regrules_assign(uint8_t dmn_id_2g,
|
|||
uint8_t dmn_id_5g,
|
||||
struct cur_regulatory_info *reg_info);
|
||||
|
||||
QDF_STATUS reg_get_cur_reginfo(uint32_t max_rules,
|
||||
struct cur_regulatory_info *reg_info,
|
||||
QDF_STATUS reg_get_cur_reginfo(struct cur_regulatory_info *reg_info,
|
||||
uint16_t country_index,
|
||||
uint16_t regdmn_pair);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue