|
@@ -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;
|