Ver Fonte

qcacmn: Add Component APIs for required ucfg APIs

Implement component APIs for existing vdev_mgr
to get bssid in DP component module.

Change-Id: If70832308028ad1965f4960bc2ba9664b7c09452
CRs-Fixed: 3351504
Roopavathi Lingampalli há 2 anos atrás
pai
commit
04a62bd736

+ 37 - 0
umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_api.h

@@ -0,0 +1,37 @@
+
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * DOC: wlan_vdev_mgr_api.h
+ *
+ */
+
+#ifndef __WLAN_VDEV_MGR_API_H__
+#define __WLAN_VDEV_MGR_API_H__
+
+#include <wlan_objmgr_vdev_obj.h>
+
+/**
+ * wlan_vdev_mgr_get_param_bssid() - component MLME API to
+ * get bssid from mlme vdev mgr component
+ * @vdev: pointer to vdev object
+ * @bssid: pointer to store the bssid
+ *
+ */
+void wlan_vdev_mgr_get_param_bssid(struct wlan_objmgr_vdev *vdev,
+				   uint8_t *bssid);
+#endif

+ 49 - 0
umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_api.c

@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/**
+ * DOC: wlan_vdev_mgr_api.c
+ *
+ * This file provides definitions to component APIs to get/set mlme fields in
+ * vdev mlme core data structures
+ */
+
+#include "include/wlan_vdev_mlme.h"
+#include <wlan_vdev_mlme_api.h>
+#include <qdf_module.h>
+#include <wlan_vdev_mgr_api.h>
+
+void wlan_vdev_mgr_get_param_bssid(struct wlan_objmgr_vdev *vdev,
+				   uint8_t *bssid)
+{
+	struct vdev_mlme_mgmt *mlme_mgmt;
+	struct vdev_mlme_obj *vdev_mlme;
+
+	vdev_mlme = wlan_objmgr_vdev_get_comp_private_obj(
+						vdev, WLAN_UMAC_COMP_MLME);
+
+	if (!vdev_mlme) {
+		mlme_err("VDEV_MLME is NULL");
+		return;
+	}
+
+	mlme_mgmt = &vdev_mlme->mgmt;
+
+	qdf_mem_copy(bssid, mlme_mgmt->generic.bssid,
+		     QDF_MAC_ADDR_SIZE);
+}
+
+qdf_export_symbol(wlan_vdev_mgr_get_param_bssid);

+ 3 - 17
umac/mlme/vdev_mgr/dispatcher/src/wlan_vdev_mgr_ucfg_api.c

@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021,2023 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -30,28 +30,14 @@
 #include <wlan_vdev_mgr_utils_api.h>
 #include <wlan_vdev_mlme_api.h>
 #include <qdf_module.h>
+#include <wlan_vdev_mgr_api.h>
 
 void ucfg_wlan_vdev_mgr_get_param_bssid(
 				struct wlan_objmgr_vdev *vdev,
 				uint8_t *bssid)
 {
-	struct vdev_mlme_mgmt *mlme_mgmt;
-	struct vdev_mlme_obj *vdev_mlme;
-
-	vdev_mlme = wlan_objmgr_vdev_get_comp_private_obj(
-						vdev, WLAN_UMAC_COMP_MLME);
-
-	if (!vdev_mlme) {
-		mlme_err("VDEV_MLME is NULL");
-		return;
-	}
-
-	mlme_mgmt = &vdev_mlme->mgmt;
-
-	qdf_mem_copy(bssid, mlme_mgmt->generic.bssid,
-		     QDF_MAC_ADDR_SIZE);
+	wlan_vdev_mgr_get_param_bssid(vdev, bssid);
 }
-
 qdf_export_symbol(ucfg_wlan_vdev_mgr_get_param_bssid);
 
 void ucfg_wlan_vdev_mgr_get_param_ssid(