qcacld-3.0: Infra for mlme_priv_obj with VDEV_SM enable/disable

Define two different mlme priv obj structures
based upon the flag CONFIG_VDEV_SM, for the
support of dynamic nss, chains update.

Change-Id: I00f39eb82973da86233ddfc8bdcc94b6ca8a439a
CRs-Fixed: 2349200
This commit is contained in:
gaurank kathpalia
2018-11-13 15:37:49 +05:30
committed by nshrivas
parent b414bce3b7
commit 24ed0f4056
10 changed files with 248 additions and 99 deletions

View File

@@ -27,6 +27,67 @@
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_mlme_vdev_mgr_interface.h"
#ifdef CONFIG_VDEV_SM
static QDF_STATUS ucfg_mlme_vdev_init(void)
{
return QDF_STATUS_SUCCESS;
}
static QDF_STATUS ucfg_mlme_vdev_deinit(void)
{
return QDF_STATUS_SUCCESS;
}
#else
static QDF_STATUS ucfg_mlme_vdev_init(void)
{
QDF_STATUS status;
status = wlan_objmgr_register_vdev_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_created_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status)) {
mlme_err("unable to register vdev create handle");
return status;
}
status = wlan_objmgr_register_vdev_destroy_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_destroyed_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_err("unable to register vdev create handle");
return status;
}
static QDF_STATUS ucfg_mlme_vdev_deinit(void)
{
QDF_STATUS status;
status = wlan_objmgr_unregister_vdev_destroy_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_destroyed_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_err("unable to unregister vdev destroy handle");
status = wlan_objmgr_unregister_vdev_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_vdev_object_created_notification,
NULL);
if (QDF_IS_STATUS_ERROR(status))
mlme_err("unable to unregister vdev create handle");
return status;
}
#endif
QDF_STATUS ucfg_mlme_init(void)
{
QDF_STATUS status;
@@ -44,8 +105,11 @@ QDF_STATUS ucfg_mlme_init(void)
WLAN_UMAC_COMP_MLME,
mlme_psoc_object_destroyed_notification,
NULL);
if (status != QDF_STATUS_SUCCESS)
if (status != QDF_STATUS_SUCCESS) {
mlme_err("unable to register psoc create handle");
return status;
}
status = ucfg_mlme_vdev_init();
return status;
}
@@ -54,22 +118,25 @@ QDF_STATUS ucfg_mlme_deinit(void)
{
QDF_STATUS status;
status = wlan_objmgr_unregister_psoc_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_psoc_object_created_notification,
NULL);
if (status != QDF_STATUS_SUCCESS) {
mlme_err("unable to unregister psoc create handle");
return status;
}
status = ucfg_mlme_vdev_deinit();
if (QDF_IS_STATUS_ERROR(status))
mlme_err("unable to unregister vdev destroy handle");
status = wlan_objmgr_unregister_psoc_destroy_handler(
WLAN_UMAC_COMP_MLME,
mlme_psoc_object_destroyed_notification,
NULL);
if (status != QDF_STATUS_SUCCESS)
if (QDF_IS_STATUS_ERROR(status))
mlme_err("unable to unregister psoc destroy handle");
status = wlan_objmgr_unregister_psoc_create_handler(
WLAN_UMAC_COMP_MLME,
mlme_psoc_object_created_notification,
NULL);
if (status != QDF_STATUS_SUCCESS)
mlme_err("unable to unregister psoc create handle");
return status;
}