Loading Documentation/devicetree/bindings/cnss/icnss.txt +2 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ Required properties: - qcom,wlan-msa-memory: MSA memory size Optional properties: - qcom,skip-qmi: Boolean property to decide whether to use QMI or not Example: Loading @@ -35,4 +36,5 @@ Example: <0 140 0 /* CE10 */ >, <0 141 0 /* CE11 */ >; qcom,wlan-msa-memory = <0x200000>; qcom,skip-qmi; }; drivers/soc/qcom/icnss.c +10 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ static struct { u32 rf_pin_result; struct icnss_mem_region_info icnss_mem_region[QMI_WLFW_MAX_NUM_MEMORY_REGIONS_V01]; bool skip_qmi; } *penv; static int icnss_qmi_event_post(enum icnss_qmi_event_type type, void *data) Loading Loading @@ -809,6 +810,9 @@ int icnss_register_driver(struct icnss_driver_ops *ops) } penv->ops = ops; if (penv->skip_qmi) penv->state |= ICNSS_FW_READY; /* check for all conditions before invoking probe */ if (ICNSS_IS_FW_READY(penv->state) && penv->ops->probe) { ret = penv->ops->probe(&pdev->dev); Loading Loading @@ -1100,6 +1104,9 @@ skip: if (ret) pr_err("%s: Failed to send mode, ret = %d\n", __func__, ret); out: if (penv->skip_qmi) ret = 0; return ret; } EXPORT_SYMBOL(icnss_wlan_enable); Loading Loading @@ -1174,6 +1181,9 @@ static int icnss_probe(struct platform_device *pdev) goto out; } penv->skip_qmi = of_property_read_bool(dev->of_node, "qcom,skip-qmi"); penv->qmi_event_wq = alloc_workqueue("icnss_qmi_event", 0, 0); if (!penv->qmi_event_wq) { pr_err("%s: workqueue creation failed\n", __func__); Loading Loading
Documentation/devicetree/bindings/cnss/icnss.txt +2 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ Required properties: - qcom,wlan-msa-memory: MSA memory size Optional properties: - qcom,skip-qmi: Boolean property to decide whether to use QMI or not Example: Loading @@ -35,4 +36,5 @@ Example: <0 140 0 /* CE10 */ >, <0 141 0 /* CE11 */ >; qcom,wlan-msa-memory = <0x200000>; qcom,skip-qmi; };
drivers/soc/qcom/icnss.c +10 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ static struct { u32 rf_pin_result; struct icnss_mem_region_info icnss_mem_region[QMI_WLFW_MAX_NUM_MEMORY_REGIONS_V01]; bool skip_qmi; } *penv; static int icnss_qmi_event_post(enum icnss_qmi_event_type type, void *data) Loading Loading @@ -809,6 +810,9 @@ int icnss_register_driver(struct icnss_driver_ops *ops) } penv->ops = ops; if (penv->skip_qmi) penv->state |= ICNSS_FW_READY; /* check for all conditions before invoking probe */ if (ICNSS_IS_FW_READY(penv->state) && penv->ops->probe) { ret = penv->ops->probe(&pdev->dev); Loading Loading @@ -1100,6 +1104,9 @@ skip: if (ret) pr_err("%s: Failed to send mode, ret = %d\n", __func__, ret); out: if (penv->skip_qmi) ret = 0; return ret; } EXPORT_SYMBOL(icnss_wlan_enable); Loading Loading @@ -1174,6 +1181,9 @@ static int icnss_probe(struct platform_device *pdev) goto out; } penv->skip_qmi = of_property_read_bool(dev->of_node, "qcom,skip-qmi"); penv->qmi_event_wq = alloc_workqueue("icnss_qmi_event", 0, 0); if (!penv->qmi_event_wq) { pr_err("%s: workqueue creation failed\n", __func__); Loading