qcacld-3.0: Enable QDF cpu hotplug APIs
Enable the new QDF CPU hotplug APIs in Kbuild when CONFIG_SMP is
enabled.
Change-Id: Ib3e1e1fe840f0aae662cd6d32527b174a9c2895c
CRs-Fixed: 2133375
diff --git a/Kbuild b/Kbuild
index 57ad3d1..a39cb2b 100644
--- a/Kbuild
+++ b/Kbuild
@@ -780,27 +780,34 @@
############ Qca-wifi-host-cmn ############
QDF_OS_DIR := qdf
QDF_OS_INC_DIR := $(QDF_OS_DIR)/inc
-QDF_OS_SRC_DIR := $(QDF_OS_DIR)/linux/src
+QDF_OS_SRC_DIR := $(QDF_OS_DIR)/src
+QDF_OS_LINUX_SRC_DIR := $(QDF_OS_DIR)/linux/src
QDF_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_SRC_DIR)
+QDF_LINUX_OBJ_DIR := $(WLAN_COMMON_ROOT)/$(QDF_OS_LINUX_SRC_DIR)
QDF_INC := -I$(WLAN_COMMON_INC)/$(QDF_OS_INC_DIR) \
- -I$(WLAN_COMMON_INC)/$(QDF_OS_SRC_DIR)
+ -I$(WLAN_COMMON_INC)/$(QDF_OS_LINUX_SRC_DIR)
-QDF_OBJS := $(QDF_OBJ_DIR)/qdf_defer.o \
- $(QDF_OBJ_DIR)/qdf_event.o \
- $(QDF_OBJ_DIR)/qdf_list.o \
- $(QDF_OBJ_DIR)/qdf_lock.o \
- $(QDF_OBJ_DIR)/qdf_mc_timer.o \
- $(QDF_OBJ_DIR)/qdf_mem.o \
- $(QDF_OBJ_DIR)/qdf_nbuf.o \
- $(QDF_OBJ_DIR)/qdf_threads.o \
- $(QDF_OBJ_DIR)/qdf_crypto.o \
- $(QDF_OBJ_DIR)/qdf_trace.o
+QDF_OBJS := $(QDF_LINUX_OBJ_DIR)/qdf_defer.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_event.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_list.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_lock.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_mc_timer.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_mem.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_nbuf.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_threads.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_crypto.o \
+ $(QDF_LINUX_OBJ_DIR)/qdf_trace.o
ifeq ($(CONFIG_WLAN_DEBUGFS), y)
-QDF_OBJS += $(QDF_OBJ_DIR)/qdf_debugfs.o
+QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_debugfs.o
endif
+# enable CPU hotplug support if SMP is enabled
+ifeq ($(CONFIG_SMP),y)
+ QDF_OBJS += $(QDF_OBJ_DIR)/qdf_cpuhp.o
+ QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_cpuhp.o
+endif
##########OS_IF #######
OS_IF_DIR := $(WLAN_COMMON_ROOT)/os_if
@@ -847,7 +854,7 @@
UMAC_COMMON_OBJS := $(WLAN_COMMON_ROOT)/umac/cmn_services/utils/src/wlan_utility.o
ifeq ($(CONFIG_WLAN_LRO), y)
-QDF_OBJS += $(QDF_OBJ_DIR)/qdf_lro.o
+QDF_OBJS += $(QDF_LINUX_OBJ_DIR)/qdf_lro.o
endif
############ CDS (Connectivity driver services) ############
diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c
index eeedb19..3fbfb0f 100644
--- a/core/cds/src/cds_api.c
+++ b/core/cds/src/cds_api.c
@@ -66,6 +66,7 @@
#include <cdp_txrx_misc.h>
#include <dispatcher_init_deinit.h>
#include <cdp_txrx_handle.h>
+#include "qdf_cpuhp.h"
/* Preprocessor Definitions and Constants */
@@ -163,6 +164,7 @@
qdf_lock_stats_init();
qdf_mem_init();
qdf_mc_timer_manager_init();
+ qdf_cpuhp_init();
qdf_register_self_recovery_callback(cds_trigger_recovery);
gp_cds_context = &g_cds_context;
@@ -195,6 +197,7 @@
return;
cds_recovery_work_deinit();
+ qdf_cpuhp_deinit();
qdf_mc_timer_manager_exit();
qdf_mem_exit();
qdf_lock_stats_deinit();