From aa07f31e41c872a83adf43424062559a951e72c8 Mon Sep 17 00:00:00 2001 From: Wu Gao Date: Wed, 1 Jul 2020 10:46:53 +0800 Subject: [PATCH] qcacld-3.0: Add change to check DRV support Add change to check check DRV support by platform capability. Change-Id: Ib0f245672fbba9655ce923dcaef8c4ae28bceff2 CRs-Fixed: 2722648 --- core/cds/src/cds_api.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 49282e464e..4f93916399 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -184,6 +184,22 @@ static bool cds_is_drv_connected(void) return ((ret > 0) ? true : false); } +static bool cds_is_drv_supported(void) +{ + qdf_device_t qdf_ctx; + struct pld_platform_cap cap = {0}; + + qdf_ctx = cds_get_context(QDF_MODULE_ID_QDF_DEVICE); + if (!qdf_ctx) { + cds_err("cds context is invalid"); + return false; + } + + pld_get_platform_cap(qdf_ctx->dev, &cap); + + return ((cap.cap_flag & PLD_HAS_DRV_SUPPORT) ? true : false); +} + static QDF_STATUS cds_wmi_send_recv_qmi(void *buf, uint32_t len, void * cb_ctx, qdf_wmi_recv_qmi_cb wmi_rx_cb) { @@ -222,6 +238,7 @@ QDF_STATUS cds_init(void) qdf_register_is_driver_unloading_callback(cds_is_driver_unloading); qdf_register_recovering_state_query_callback(cds_is_driver_recovering); qdf_register_drv_connected_callback(cds_is_drv_connected); + qdf_register_drv_supported_callback(cds_is_drv_supported); qdf_register_wmi_send_recv_qmi_callback(cds_wmi_send_recv_qmi); return QDF_STATUS_SUCCESS;