qcacld-3.0: Split wlan.ko into wlan_resident.ko and wlan.ko

Module is saved in specified memory location when loading. In some
third platform, after rmmod/insmod wlan.ko for a while, wlan.ko may
fail to load due to memory fragmentation.

Split wlan.ko into wlan_resident.ko and wlan.ko. Keep wlan_resident.ko
in kernel all the while and trigger insmod/rmmod only on wlan.ko.

wlan_resident.ko contains all the module realization while wlan.ko
only contains module init/exit.

Change-Id: Iaeb6d810293cc000de8d6ec1df5cd985cef0c317
CRs-Fixed: 2727941
This commit is contained in:
bings
2020-07-30 12:16:37 +08:00
committed by snandini
parent 1152746929
commit 1939a20df7
4 changed files with 128 additions and 21 deletions

7
Kbuild
View File

@@ -2543,6 +2543,7 @@ cppflags-$(CONFIG_CM_ROAM_OFFLOAD) += -DROAM_OFFLOAD_V1
cppflags-$(CONFIG_PLD_IPCI_ICNSS_FLAG) += -DCONFIG_PLD_IPCI_ICNSS
cppflags-$(CONFIG_PLD_SDIO_CNSS_FLAG) += -DCONFIG_PLD_SDIO_CNSS
cppflags-$(CONFIG_WLAN_RESIDENT_DRIVER) += -DFEATURE_WLAN_RESIDENT_DRIVER
ifeq ($(CONFIG_IPCIE_FW_SIM), y)
cppflags-y += -DCONFIG_PLD_IPCIE_FW_SIM
@@ -3638,7 +3639,13 @@ endif
# Module information used by KBuild framework
obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
ifeq ($(CONFIG_WLAN_RESIDENT_DRIVER), y)
$(MODNAME)-y := $(HDD_SRC_DIR)/wlan_hdd_main_module.o
obj-$(CONFIG_QCA_CLD_WLAN) += wlan_resident.o
wlan_resident-y := $(OBJS)
else
$(MODNAME)-y := $(OBJS)
endif
OBJS_DIRS := $(dir $(OBJS)) \
$(WLAN_COMMON_ROOT)/$(HIF_CE_DIR)/ \
$(QDF_OBJ_DIR)/ \