qcacmn: Add extract API for UTF event to support TLV and Non-TLV targets

Add extract API for handling UTF event data received from the target
for both TLV and non-TLV cases.

Change-Id: I62525d7c8663fe90e0e3e76cf5286bb9dc86acd0
CRs-Fixed: 1115293
diff --git a/wmi_unified_api.h b/wmi_unified_api.h
index 4775909..cbcbe38 100644
--- a/wmi_unified_api.h
+++ b/wmi_unified_api.h
@@ -1362,4 +1362,7 @@
 			void *wmi_hdl,
 			uint8_t *evt_buf, uint8_t phy_idx,
 			struct WMI_HOST_HAL_REG_CAPABILITIES_EXT *param);
+QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl,
+				      uint8_t *evt_buf,
+				      struct wmi_host_pdev_utf_event *param);
 #endif /* _WMI_UNIFIED_API_H_ */
diff --git a/wmi_unified_param.h b/wmi_unified_param.h
index 16025fe..78668f4 100644
--- a/wmi_unified_param.h
+++ b/wmi_unified_param.h
@@ -7214,4 +7214,15 @@
 	uint32_t action_category_map[WMI_SUPPORTED_ACTION_CATEGORY_ELE_LIST];
 };
 
+/**
+ * struct wmi_host_pdev_utf_event - Host defined struct to hold utf event data
+ * @data:        Pointer to data
+ * @datalen:     Data length
+ *
+ */
+struct wmi_host_pdev_utf_event {
+	uint8_t *data;
+	uint16_t datalen;
+};
+
 #endif /* _WMI_UNIFIED_PARAM_H_ */
diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h
index c091ad1..6c50335 100644
--- a/wmi_unified_priv.h
+++ b/wmi_unified_priv.h
@@ -1212,6 +1212,11 @@
 			wmi_unified_t wmi_handle,
 			uint8_t *evt_buf, uint8_t phy_idx,
 			struct WMI_HOST_HAL_REG_CAPABILITIES_EXT *param);
+
+QDF_STATUS (*extract_pdev_utf_event)(wmi_unified_t wmi_hdl,
+				     uint8_t *evt_buf,
+				     struct wmi_host_pdev_utf_event *param);
+
 uint16_t (*wmi_set_htc_tx_tag)(wmi_unified_t wmi_handle,
 				wmi_buf_t buf, uint32_t cmd_id);
 };