qcacmn: Off-chan txrx componentization changes
Add new module id for offchan txrx compotent and call offchan init/deint.
Change-Id: I803925d2dafdbe3800636de4e5ac4ae69c4851d0
CRs-Fixed: 2030050
diff --git a/init_deinit/dispatcher/src/dispatcher_init_deinit.c b/init_deinit/dispatcher/src/dispatcher_init_deinit.c
index 05380ca..b604e77 100644
--- a/init_deinit/dispatcher/src/dispatcher_init_deinit.c
+++ b/init_deinit/dispatcher/src/dispatcher_init_deinit.c
@@ -52,6 +52,9 @@
#include <wlan_dfs_init_deinit_api.h>
#endif
+#ifdef WLAN_OFFCHAN_TXRX_ENABLE
+#include <wlan_offchan_txrx_api.h>
+#endif
/**
* DOC: This file provides various init/deinit trigger point for new
* components.
@@ -461,6 +464,28 @@
}
#endif
+#ifdef WLAN_OFFCHAN_TXRX_ENABLE
+static QDF_STATUS dispatcher_offchan_txrx_init(void)
+{
+ return wlan_offchan_txrx_init();
+}
+
+static QDF_STATUS dispatcher_offchan_txrx_deinit(void)
+{
+ return wlan_offchan_txrx_deinit();
+}
+#else
+static QDF_STATUS dispatcher_offchan_txrx_init(void)
+{
+ return QDF_STATUS_SUCCESS;
+}
+
+static QDF_STATUS dispatcher_offchan_txrx_deinit(void)
+{
+ return QDF_STATUS_SUCCESS;
+}
+#endif /*WLAN_OFFCHAN_TXRX_ENABLE*/
+
QDF_STATUS dispatcher_init(void)
{
if (QDF_STATUS_SUCCESS != wlan_objmgr_global_obj_init())
@@ -508,8 +533,13 @@
if (QDF_STATUS_SUCCESS != dispatcher_regulatory_init())
goto regulatory_init_fail;
+ if (QDF_STATUS_SUCCESS != dispatcher_offchan_txrx_init())
+ goto offchan_init_fail;
+
return QDF_STATUS_SUCCESS;
+offchan_init_fail:
+ dispatcher_regulatory_deinit();
regulatory_init_fail:
dispatcher_deinit_dfs();
dfs_init_fail:
@@ -546,6 +576,8 @@
QDF_STATUS dispatcher_deinit(void)
{
+ QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_offchan_txrx_deinit());
+
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_regulatory_deinit());
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_deinit_dfs());
diff --git a/qdf/inc/qdf_types.h b/qdf/inc/qdf_types.h
index d0502da..ca1ee49 100644
--- a/qdf/inc/qdf_types.h
+++ b/qdf/inc/qdf_types.h
@@ -384,6 +384,7 @@
QDF_MODULE_ID_CONFIG,
QDF_MODULE_ID_REGULATORY,
QDF_MODULE_ID_NAN,
+ QDF_MODULE_ID_OFFCHAN_TXRX,
QDF_MODULE_ID_ANY,
QDF_MODULE_ID_MAX,
} QDF_MODULE_ID;
diff --git a/qdf/linux/src/qdf_trace.c b/qdf/linux/src/qdf_trace.c
index 07db48d..54aabfa 100644
--- a/qdf/linux/src/qdf_trace.c
+++ b/qdf/linux/src/qdf_trace.c
@@ -1809,6 +1809,7 @@
[QDF_MODULE_ID_POLICY_MGR] = {"POLICY_MGR"},
[QDF_MODULE_ID_NAN] = {"NAN"},
[QDF_MODULE_ID_P2P] = {"P2P"},
+ [QDF_MODULE_ID_OFFCHAN_TXRX] = {"OFFCHAN"},
[QDF_MODULE_ID_ANY] = {"ANY"},
};
diff --git a/umac/cmn_services/inc/wlan_cmn.h b/umac/cmn_services/inc/wlan_cmn.h
index f6ed3cb..e5484f1 100644
--- a/umac/cmn_services/inc/wlan_cmn.h
+++ b/umac/cmn_services/inc/wlan_cmn.h
@@ -111,6 +111,7 @@
* @WLAN_UMAC_COMP_NAN: Neighbor Aware Networking
* @WLAN_UMAC_COMP_DFS: DFS
* @WLAN_UMAC_COMP_ID_MAX: Maximum components in UMAC
+ * @WLAN_UMAC_COMP_OFFCHAN_TXRX: Offchan TxRx
*
* This id is static.
* On Adding new component, new id has to be assigned
@@ -131,6 +132,7 @@
WLAN_UMAC_COMP_CRYPTO,
WLAN_UMAC_COMP_NAN,
WLAN_UMAC_COMP_DFS,
+ WLAN_UMAC_COMP_OFFCHAN_TXRX,
WLAN_UMAC_COMP_ID_MAX,
};