qcacmn: Initialize the interface module
Initialize the interface module. Change-Id: Ia62d17c7f92f001f00ee5cff7cf0a6d1dc4f08ce CRs-Fixed: 2776686
This commit is contained in:

committed by
snandini

parent
6f01abdb21
commit
d57e7836dc
@@ -81,6 +81,10 @@
|
|||||||
#include <wlan_dcs_init_deinit_api.h>
|
#include <wlan_dcs_init_deinit_api.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef WLAN_FEATURE_INTERFACE_MGR
|
||||||
|
#include <wlan_if_mgr_main.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DOC: This file provides various init/deinit trigger point for new
|
* DOC: This file provides various init/deinit trigger point for new
|
||||||
* components.
|
* components.
|
||||||
@@ -862,6 +866,28 @@ static QDF_STATUS fd_psoc_disable(struct wlan_objmgr_psoc *psoc)
|
|||||||
}
|
}
|
||||||
#endif /* WLAN_SUPPORT_FILS */
|
#endif /* WLAN_SUPPORT_FILS */
|
||||||
|
|
||||||
|
#ifdef WLAN_FEATURE_INTERFACE_MGR
|
||||||
|
static QDF_STATUS dispatcher_if_mgr_init(void)
|
||||||
|
{
|
||||||
|
return wlan_if_mgr_init();
|
||||||
|
}
|
||||||
|
|
||||||
|
static QDF_STATUS dispatcher_if_mgr_deinit(void)
|
||||||
|
{
|
||||||
|
return wlan_if_mgr_deinit();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static QDF_STATUS dispatcher_if_mgr_init(void)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static QDF_STATUS dispatcher_if_mgr_deinit(void)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef FEATURE_COEX
|
#ifdef FEATURE_COEX
|
||||||
static QDF_STATUS dispatcher_coex_init(void)
|
static QDF_STATUS dispatcher_coex_init(void)
|
||||||
{
|
{
|
||||||
@@ -977,6 +1003,9 @@ QDF_STATUS dispatcher_init(void)
|
|||||||
if (QDF_STATUS_SUCCESS != dispatcher_coex_init())
|
if (QDF_STATUS_SUCCESS != dispatcher_coex_init())
|
||||||
goto coex_init_fail;
|
goto coex_init_fail;
|
||||||
|
|
||||||
|
if (QDF_STATUS_SUCCESS != dispatcher_if_mgr_init())
|
||||||
|
goto ifmgr_init_fail;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* scheduler INIT has to be the last as each component's
|
* scheduler INIT has to be the last as each component's
|
||||||
* initialization has to happen first and then at the end
|
* initialization has to happen first and then at the end
|
||||||
@@ -988,6 +1017,8 @@ QDF_STATUS dispatcher_init(void)
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
|
|
||||||
scheduler_init_fail:
|
scheduler_init_fail:
|
||||||
|
dispatcher_if_mgr_deinit();
|
||||||
|
ifmgr_init_fail:
|
||||||
dispatcher_coex_deinit();
|
dispatcher_coex_deinit();
|
||||||
coex_init_fail:
|
coex_init_fail:
|
||||||
dispatcher_deinit_cfr();
|
dispatcher_deinit_cfr();
|
||||||
@@ -1045,6 +1076,8 @@ QDF_STATUS dispatcher_deinit(void)
|
|||||||
|
|
||||||
QDF_BUG(QDF_STATUS_SUCCESS == scheduler_deinit());
|
QDF_BUG(QDF_STATUS_SUCCESS == scheduler_deinit());
|
||||||
|
|
||||||
|
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_if_mgr_deinit());
|
||||||
|
|
||||||
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_coex_deinit());
|
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_coex_deinit());
|
||||||
|
|
||||||
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_deinit_cfr());
|
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_deinit_cfr());
|
||||||
|
@@ -74,6 +74,20 @@ struct wlan_if_mgr_obj {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wlan_if_mgr_init() - Interface manager module initialization API
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS wlan_if_mgr_init(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_if_mgr_deinit() - interface manager module deinitialization API
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS wlan_if_mgr_deinit(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wlan_if_mgr_psoc_created_notification() - interface mgr psoc create handler
|
* wlan_if_mgr_psoc_created_notification() - interface mgr psoc create handler
|
||||||
* @psoc: psoc object
|
* @psoc: psoc object
|
||||||
|
@@ -19,6 +19,54 @@
|
|||||||
*/
|
*/
|
||||||
#include "wlan_if_mgr_main.h"
|
#include "wlan_if_mgr_main.h"
|
||||||
|
|
||||||
|
QDF_STATUS wlan_if_mgr_init(void)
|
||||||
|
{
|
||||||
|
QDF_STATUS status;
|
||||||
|
|
||||||
|
status = wlan_objmgr_register_psoc_create_handler(WLAN_UMAC_COMP_IF_MGR,
|
||||||
|
wlan_if_mgr_psoc_created_notification, NULL);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status)) {
|
||||||
|
ifmgr_err("Failed to register psoc create handler");
|
||||||
|
goto fail_create_psoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = wlan_objmgr_register_psoc_destroy_handler(
|
||||||
|
WLAN_UMAC_COMP_IF_MGR,
|
||||||
|
wlan_if_mgr_psoc_destroyed_notification, NULL);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status)) {
|
||||||
|
ifmgr_err("Failed to create psoc delete handler");
|
||||||
|
goto fail_psoc_destroy;
|
||||||
|
}
|
||||||
|
ifmgr_debug("interface mgr psoc create and delete handler registered with objmgr");
|
||||||
|
|
||||||
|
fail_psoc_destroy:
|
||||||
|
wlan_objmgr_unregister_psoc_create_handler(WLAN_UMAC_COMP_IF_MGR,
|
||||||
|
wlan_if_mgr_psoc_created_notification, NULL);
|
||||||
|
fail_create_psoc:
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDF_STATUS wlan_if_mgr_deinit(void)
|
||||||
|
{
|
||||||
|
QDF_STATUS status;
|
||||||
|
|
||||||
|
status = wlan_objmgr_unregister_psoc_create_handler(
|
||||||
|
WLAN_UMAC_COMP_IF_MGR,
|
||||||
|
wlan_if_mgr_psoc_created_notification, NULL);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
|
ifmgr_err("Failed to deregister psoc create handler");
|
||||||
|
|
||||||
|
status = wlan_objmgr_unregister_psoc_destroy_handler(
|
||||||
|
WLAN_UMAC_COMP_IF_MGR,
|
||||||
|
wlan_if_mgr_psoc_destroyed_notification, NULL);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
|
ifmgr_err("Failed to deregister psoc delete handler");
|
||||||
|
|
||||||
|
ifmgr_debug("interface mgr psoc create and delete handler deregistered with objmgr");
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
QDF_STATUS wlan_if_mgr_psoc_created_notification(struct wlan_objmgr_psoc *psoc,
|
QDF_STATUS wlan_if_mgr_psoc_created_notification(struct wlan_objmgr_psoc *psoc,
|
||||||
void *arg_list)
|
void *arg_list)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user