Переглянути джерело

qcacmn: Move mlme private APIs to mlme core

Move APIs private to mlme component to mlme core directories

Change-Id: If682933d542cb583feea680656b87524dd28ed1a
CRs-Fixed: 2549547
Himanshu Batra 5 роки тому
батько
коміт
c3517bbdab
2 змінених файлів з 483 додано та 483 видалено
  1. 0 483
      umac/mlme/include/wlan_vdev_mlme.h
  2. 483 0
      umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.h

+ 0 - 483
umac/mlme/include/wlan_vdev_mlme.h

@@ -571,489 +571,6 @@ struct vdev_mlme_obj {
 #endif
 };
 
-/**
- * mlme_vdev_validate_basic_params - Validate basic params
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API validate MLME VDEV basic parameters
- *
- * Return: SUCCESS on successful validation
- *         FAILURE, if any parameter is not initialized
- */
-static inline QDF_STATUS mlme_vdev_validate_basic_params(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_validate_basic_params)
-		ret = vdev_mlme->ops->mlme_vdev_validate_basic_params(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_reset_proto_params - Reset VDEV protocol params
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API resets the protocol params fo vdev
- *
- * Return: SUCCESS on successful reset
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_reset_proto_params(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_reset_proto_params)
-		ret = vdev_mlme->ops->mlme_vdev_reset_proto_params(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_start_send - Invokes VDEV start operation
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV start operation
- *
- * Return: SUCCESS on successful completion of start operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_start_send(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_start_send)
-		ret = vdev_mlme->ops->mlme_vdev_start_send(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_restart_send - Invokes VDEV restart operation
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV restart operation
- *
- * Return: SUCCESS on successful completion of restart operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_restart_send(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_restart_send)
-		ret = vdev_mlme->ops->mlme_vdev_restart_send(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_stop_start_send - Invoke block VDEV restart operation
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @restart: restart req/start req
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes stops pending VDEV restart operation
- *
- * Return: SUCCESS alsways
- */
-static inline QDF_STATUS mlme_vdev_stop_start_send(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint8_t restart,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_stop_start_send)
-		ret = vdev_mlme->ops->mlme_vdev_stop_start_send(
-				vdev_mlme, restart, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_start_continue - VDEV start response handling
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV start response actions
- *
- * Return: SUCCESS on successful completion of start response operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_start_continue(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_start_continue)
-		ret = vdev_mlme->ops->mlme_vdev_start_continue(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_start_req_failed - Invoke Station VDEV connection, if it pause
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes on START fail response
- *
- * Return: SUCCESS on successful invocation of callback
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_start_req_failed(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_start_req_failed)
-		ret = vdev_mlme->ops->mlme_vdev_start_req_failed(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_sta_conn_start - Invoke Station VDEV connection, if it pause
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes connection SM to start station connection
- *
- * Return: SUCCESS on successful invocation of connection sm
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_sta_conn_start(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_sta_conn_start)
-		ret = vdev_mlme->ops->mlme_vdev_sta_conn_start(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_up_send - VDEV up operation
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV up operations
- *
- * Return: SUCCESS on successful completion of up operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_up_send(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_up_send)
-		ret = vdev_mlme->ops->mlme_vdev_up_send(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_notify_up_complete - VDEV up state transition notification
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API notifies MLME on moving to UP state
- *
- * Return: SUCCESS on successful completion of up notification
- *         FAILURE, if it fails due to any
- */
-static inline
-QDF_STATUS mlme_vdev_notify_up_complete(struct vdev_mlme_obj *vdev_mlme,
-					uint16_t event_data_len,
-					void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_notify_up_complete)
-		ret = vdev_mlme->ops->mlme_vdev_notify_up_complete(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_notify_roam_start - VDEV Roaming notification
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_len: data size
- * @event_data: event data
- *
- * API notifies MLME on roaming
- *
- * Return: SUCCESS on successful completion of up notification
- *         FAILURE, if it fails due to any
- */
-static inline
-QDF_STATUS mlme_vdev_notify_roam_start(struct vdev_mlme_obj *vdev_mlme,
-				       uint16_t event_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_notify_roam_start)
-		ret = vdev_mlme->ops->mlme_vdev_notify_roam_start(vdev_mlme,
-								  event_len,
-								  event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_update_beacon - Updates beacon
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @op: beacon update type
- * @event_data_len: data size
- * @event_data: event data
- *
- * API updates/allocates/frees the beacon
- *
- * Return: SUCCESS on successful update of beacon
- *         FAILURE, if it fails due to any
- */
-static inline
-QDF_STATUS mlme_vdev_update_beacon(struct vdev_mlme_obj *vdev_mlme,
-				   enum beacon_update_op op,
-				   uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_update_beacon)
-		ret = vdev_mlme->ops->mlme_vdev_update_beacon(vdev_mlme, op,
-						event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_disconnect_peers - Disconnect peers
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API trigger stations disconnection with AP VDEV or AP disconnection with STA
- * VDEV
- *
- * Return: SUCCESS on successful invocation of station disconnection
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_disconnect_peers(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_disconnect_peers)
-		ret = vdev_mlme->ops->mlme_vdev_disconnect_peers(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_dfs_cac_timer_stop - Stop CAC timer
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API stops the CAC timer through DFS API
- *
- * Return: SUCCESS on successful CAC timer stop
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_dfs_cac_timer_stop(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_dfs_cac_timer_stop)
-		ret = vdev_mlme->ops->mlme_vdev_dfs_cac_timer_stop(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_stop_send - Invokes VDEV stop operation
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV stop operation
- *
- * Return: SUCCESS on successful completion of stop operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_stop_send(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_stop_send)
-		ret = vdev_mlme->ops->mlme_vdev_stop_send(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_stop_continue - VDEV stop response handling
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV stop response actions
- *
- * Return: SUCCESS on successful completion of stop response operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_stop_continue(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_stop_continue)
-		ret = vdev_mlme->ops->mlme_vdev_stop_continue(vdev_mlme,
-							      event_data_len,
-							      event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_down_send - VDEV down operation
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API invokes VDEV down operation
- *
- * Return: SUCCESS on successful completion of VDEV down operation
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_down_send(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_down_send)
-		ret = vdev_mlme->ops->mlme_vdev_down_send(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_notify_down_complete - VDEV init state transition notification
- * @vdev_mlme_obj:  VDEV MLME comp object
- * @event_data_len: data size
- * @event_data: event data
- *
- * API notifies MLME on moving to INIT state
- *
- * Return: SUCCESS on successful completion of down notification
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_notify_down_complete(
-				struct vdev_mlme_obj *vdev_mlme,
-				uint16_t event_data_len, void *event_data)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_notify_down_complete)
-		ret = vdev_mlme->ops->mlme_vdev_notify_down_complete(
-					vdev_mlme, event_data_len, event_data);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_notify_start_state_exit - VDEV SM start state exit notification
- * @vdev_mlme_obj:  VDEV MLME comp object
- *
- * API notifies on start state exit
- *
- * Return: SUCCESS on successful completion of notification
- *         FAILURE, if it fails due to any
- */
-static inline QDF_STATUS mlme_vdev_notify_start_state_exit(
-				struct vdev_mlme_obj *vdev_mlme)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) &&
-	    vdev_mlme->ops->mlme_vdev_notify_start_state_exit)
-		ret = vdev_mlme->ops->mlme_vdev_notify_start_state_exit(
-								vdev_mlme);
-
-	return ret;
-}
-
-/**
- * mlme_vdev_is_newchan_no_cac - Checks new channel requires CAC
- * @vdev_mlme_obj:  VDEV MLME comp object
- *
- * API checks whether Channel needs CAC period,
- * if yes, it moves to SUSPEND_RESTART to disconnect stations before
- * sending RESTART to FW, otherwise, it moves to RESTART_PROGRESS substate
- *
- * Return: SUCCESS to move to RESTART_PROGRESS substate
- *         FAILURE, move to SUSPEND_RESTART state
- */
-static inline QDF_STATUS mlme_vdev_is_newchan_no_cac(
-				struct vdev_mlme_obj *vdev_mlme)
-{
-	QDF_STATUS ret = QDF_STATUS_SUCCESS;
-
-	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_is_newchan_no_cac)
-		ret = vdev_mlme->ops->mlme_vdev_is_newchan_no_cac(vdev_mlme);
-
-	return ret;
-}
-
 /**
  * wlan_vdev_mlme_set_ssid() - set ssid
  * @vdev: VDEV object

+ 483 - 0
umac/mlme/vdev_mgr/core/src/vdev_mlme_sm.h

@@ -97,6 +97,489 @@ QDF_STATUS mlme_vdev_sm_create(struct vdev_mlme_obj *vdev_mlme);
  */
 QDF_STATUS mlme_vdev_sm_destroy(struct vdev_mlme_obj *vdev_mlme);
 
+/**
+ * mlme_vdev_validate_basic_params - Validate basic params
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API validate MLME VDEV basic parameters
+ *
+ * Return: SUCCESS on successful validation
+ *         FAILURE, if any parameter is not initialized
+ */
+static inline QDF_STATUS mlme_vdev_validate_basic_params(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_validate_basic_params)
+		ret = vdev_mlme->ops->mlme_vdev_validate_basic_params(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_reset_proto_params - Reset VDEV protocol params
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API resets the protocol params fo vdev
+ *
+ * Return: SUCCESS on successful reset
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_reset_proto_params(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_reset_proto_params)
+		ret = vdev_mlme->ops->mlme_vdev_reset_proto_params(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_start_send - Invokes VDEV start operation
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV start operation
+ *
+ * Return: SUCCESS on successful completion of start operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_start_send(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_start_send)
+		ret = vdev_mlme->ops->mlme_vdev_start_send(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_restart_send - Invokes VDEV restart operation
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV restart operation
+ *
+ * Return: SUCCESS on successful completion of restart operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_restart_send(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_restart_send)
+		ret = vdev_mlme->ops->mlme_vdev_restart_send(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_stop_start_send - Invoke block VDEV restart operation
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @restart: restart req/start req
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes stops pending VDEV restart operation
+ *
+ * Return: SUCCESS alsways
+ */
+static inline QDF_STATUS mlme_vdev_stop_start_send(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint8_t restart,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_stop_start_send)
+		ret = vdev_mlme->ops->mlme_vdev_stop_start_send(
+				vdev_mlme, restart, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_start_continue - VDEV start response handling
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV start response actions
+ *
+ * Return: SUCCESS on successful completion of start response operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_start_continue(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_start_continue)
+		ret = vdev_mlme->ops->mlme_vdev_start_continue(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_start_req_failed - Invoke Station VDEV connection, if it pause
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes on START fail response
+ *
+ * Return: SUCCESS on successful invocation of callback
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_start_req_failed(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_start_req_failed)
+		ret = vdev_mlme->ops->mlme_vdev_start_req_failed(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_sta_conn_start - Invoke Station VDEV connection, if it pause
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes connection SM to start station connection
+ *
+ * Return: SUCCESS on successful invocation of connection sm
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_sta_conn_start(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_sta_conn_start)
+		ret = vdev_mlme->ops->mlme_vdev_sta_conn_start(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_up_send - VDEV up operation
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV up operations
+ *
+ * Return: SUCCESS on successful completion of up operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_up_send(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_up_send)
+		ret = vdev_mlme->ops->mlme_vdev_up_send(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_notify_up_complete - VDEV up state transition notification
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API notifies MLME on moving to UP state
+ *
+ * Return: SUCCESS on successful completion of up notification
+ *         FAILURE, if it fails due to any
+ */
+static inline
+QDF_STATUS mlme_vdev_notify_up_complete(struct vdev_mlme_obj *vdev_mlme,
+					uint16_t event_data_len,
+					void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_notify_up_complete)
+		ret = vdev_mlme->ops->mlme_vdev_notify_up_complete(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_notify_roam_start - VDEV Roaming notification
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_len: data size
+ * @event_data: event data
+ *
+ * API notifies MLME on roaming
+ *
+ * Return: SUCCESS on successful completion of up notification
+ *         FAILURE, if it fails due to any
+ */
+static inline
+QDF_STATUS mlme_vdev_notify_roam_start(struct vdev_mlme_obj *vdev_mlme,
+				       uint16_t event_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_notify_roam_start)
+		ret = vdev_mlme->ops->mlme_vdev_notify_roam_start(vdev_mlme,
+								  event_len,
+								  event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_update_beacon - Updates beacon
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @op: beacon update type
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API updates/allocates/frees the beacon
+ *
+ * Return: SUCCESS on successful update of beacon
+ *         FAILURE, if it fails due to any
+ */
+static inline
+QDF_STATUS mlme_vdev_update_beacon(struct vdev_mlme_obj *vdev_mlme,
+				   enum beacon_update_op op,
+				   uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if (vdev_mlme->ops && vdev_mlme->ops->mlme_vdev_update_beacon)
+		ret = vdev_mlme->ops->mlme_vdev_update_beacon(vdev_mlme, op,
+						event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_disconnect_peers - Disconnect peers
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API trigger stations disconnection with AP VDEV or AP disconnection with STA
+ * VDEV
+ *
+ * Return: SUCCESS on successful invocation of station disconnection
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_disconnect_peers(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_disconnect_peers)
+		ret = vdev_mlme->ops->mlme_vdev_disconnect_peers(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_dfs_cac_timer_stop - Stop CAC timer
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API stops the CAC timer through DFS API
+ *
+ * Return: SUCCESS on successful CAC timer stop
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_dfs_cac_timer_stop(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_dfs_cac_timer_stop)
+		ret = vdev_mlme->ops->mlme_vdev_dfs_cac_timer_stop(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_stop_send - Invokes VDEV stop operation
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV stop operation
+ *
+ * Return: SUCCESS on successful completion of stop operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_stop_send(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_stop_send)
+		ret = vdev_mlme->ops->mlme_vdev_stop_send(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_stop_continue - VDEV stop response handling
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV stop response actions
+ *
+ * Return: SUCCESS on successful completion of stop response operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_stop_continue(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_stop_continue)
+		ret = vdev_mlme->ops->mlme_vdev_stop_continue(vdev_mlme,
+							      event_data_len,
+							      event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_down_send - VDEV down operation
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API invokes VDEV down operation
+ *
+ * Return: SUCCESS on successful completion of VDEV down operation
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_down_send(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_down_send)
+		ret = vdev_mlme->ops->mlme_vdev_down_send(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_notify_down_complete - VDEV init state transition notification
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ * @event_data_len: data size
+ * @event_data: event data
+ *
+ * API notifies MLME on moving to INIT state
+ *
+ * Return: SUCCESS on successful completion of down notification
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_notify_down_complete(
+				struct vdev_mlme_obj *vdev_mlme,
+				uint16_t event_data_len, void *event_data)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_notify_down_complete)
+		ret = vdev_mlme->ops->mlme_vdev_notify_down_complete(
+					vdev_mlme, event_data_len, event_data);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_notify_start_state_exit - VDEV SM start state exit notification
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ *
+ * API notifies on start state exit
+ *
+ * Return: SUCCESS on successful completion of notification
+ *         FAILURE, if it fails due to any
+ */
+static inline QDF_STATUS mlme_vdev_notify_start_state_exit(
+				struct vdev_mlme_obj *vdev_mlme)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) &&
+	    vdev_mlme->ops->mlme_vdev_notify_start_state_exit)
+		ret = vdev_mlme->ops->mlme_vdev_notify_start_state_exit(
+								vdev_mlme);
+
+	return ret;
+}
+
+/**
+ * mlme_vdev_is_newchan_no_cac - Checks new channel requires CAC
+ * @vdev_mlme_obj:  VDEV MLME comp object
+ *
+ * API checks whether Channel needs CAC period,
+ * if yes, it moves to SUSPEND_RESTART to disconnect stations before
+ * sending RESTART to FW, otherwise, it moves to RESTART_PROGRESS substate
+ *
+ * Return: SUCCESS to move to RESTART_PROGRESS substate
+ *         FAILURE, move to SUSPEND_RESTART state
+ */
+static inline QDF_STATUS mlme_vdev_is_newchan_no_cac(
+				struct vdev_mlme_obj *vdev_mlme)
+{
+	QDF_STATUS ret = QDF_STATUS_SUCCESS;
+
+	if ((vdev_mlme->ops) && vdev_mlme->ops->mlme_vdev_is_newchan_no_cac)
+		ret = vdev_mlme->ops->mlme_vdev_is_newchan_no_cac(vdev_mlme);
+
+	return ret;
+}
+
 #ifdef VDEV_SM_LOCK_SUPPORT
 /**
  * mlme_vdev_sm_spinlock_create - Create VDEV MLME spinlock