summaryrefslogtreecommitdiff
path: root/drivers/soc
diff options
context:
space:
mode:
authorPaul Zhang <paulz@codeaurora.org>2017-05-23 13:27:04 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-24 05:53:23 -0700
commite184fd8d1558c4bd5d9ea71650d73b2cdeb504f3 (patch)
tree18e17c3cd6ab206c9330303428828af3364b0268 /drivers/soc
parent60be71604a84d2e047215cb702d6324379a353bb (diff)
cnss: save the cc source to platform driver
There is a design limitation in host driver. Driver sends regulatory_hint_user for both user-space and 11d country to kernel. So when wiphy re-registration happens, kernel tells the source as USER even for 11d. And per driver logic the 11d needs to be disabled if INI gCountryCodePriority is set. To mitigate this issue, storing the country source in the platform driver. CRs-Fixed: 2051651 Change-Id: I335a046a886ac3ce35cf96eb71231bfe75d33c60 Signed-off-by: Paul Zhang <paulz@codeaurora.org>
Diffstat (limited to 'drivers/soc')
-rw-r--r--drivers/soc/qcom/icnss.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/soc/qcom/icnss.c b/drivers/soc/qcom/icnss.c
index 8c242bc7a702..92dc7a352ad9 100644
--- a/drivers/soc/qcom/icnss.c
+++ b/drivers/soc/qcom/icnss.c
@@ -366,6 +366,8 @@ static struct icnss_priv {
bool bypass_s1_smmu;
} *penv;
+static enum cnss_cc_src cnss_cc_source = CNSS_SOURCE_CORE;
+
#ifdef CONFIG_ICNSS_DEBUG
static void icnss_ignore_qmi_timeout(bool ignore)
{
@@ -939,6 +941,18 @@ static int icnss_hw_power_off(struct icnss_priv *priv)
return ret;
}
+void cnss_set_cc_source(enum cnss_cc_src cc_source)
+{
+ cnss_cc_source = cc_source;
+}
+EXPORT_SYMBOL(cnss_set_cc_source);
+
+enum cnss_cc_src cnss_get_cc_source(void)
+{
+ return cnss_cc_source;
+}
+EXPORT_SYMBOL(cnss_get_cc_source);
+
int icnss_power_on(struct device *dev)
{
struct icnss_priv *priv = dev_get_drvdata(dev);