qcacld-3.0: Install WLAN modules to KERNEL_MODULES_OUT
Add support to install WLAN module to KERNEL_MODULES_OUT.
During full treble build, modules installed directly in the
vendor locations gets wiped out during the build process.
CRs-Fixed: 2076401
Change-Id: I8229708da7c4d1a1c366b5b305f481ccb52f3833
diff --git a/Android.mk b/Android.mk
index 57a864c..67d78df 100644
--- a/Android.mk
+++ b/Android.mk
@@ -50,17 +50,37 @@
LOCAL_MODULE_KBUILD_NAME := wlan.ko
LOCAL_MODULE_TAGS := debug
LOCAL_MODULE_DEBUG_ENABLE := true
-LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/modules/$(WLAN_CHIPSET)
+ifeq ($(PRODUCT_VENDOR_MOVE_ENABLED),true)
+ ifeq ($(WIFI_DRIVER_INSTALL_TO_KERNEL_OUT),true)
+ LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
+ else
+ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(WLAN_CHIPSET)
+ endif
+else
+ LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/modules/$(WLAN_CHIPSET)
+endif
+
include $(DLKM_DIR)/AndroidKernelModule.mk
###########################################################
# Create Symbolic link
ifneq ($(findstring $(WLAN_CHIPSET),$(WIFI_DRIVER_DEFAULT)),)
+ifeq ($(PRODUCT_VENDOR_MOVE_ENABLED),true)
+ifneq ($(WIFI_DRIVER_INSTALL_TO_KERNEL_OUT),)
+$(shell mkdir -p $(TARGET_OUT_VENDOR)/lib/modules; \
+ ln -sf /system/lib/modules/$(WLAN_CHIPSET)/$(LOCAL_MODULE) $(TARGET_OUT_VENDOR)/lib/modules/wlan.ko)
+endif
+else
$(shell mkdir -p $(TARGET_OUT)/lib/modules; \
ln -sf /system/lib/modules/$(WLAN_CHIPSET)/$(LOCAL_MODULE) $(TARGET_OUT)/lib/modules/wlan.ko)
endif
-$(shell ln -sf /persist/wlan_mac.bin $(TARGET_OUT_ETC)/firmware/wlan/qca_cld/wlan_mac.bin)
+endif
+ifeq ($(PRODUCT_VENDOR_MOVE_ENABLED),true)
+$(shell ln -sf /persist/wlan_mac.bin $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/wlan_mac.bin)
+else
+$(shell ln -sf /persist/wlan_mac.bin $(TARGET_OUT_ETC)/firmware/wlan/qca_cld/wlan_mac.bin)
+endif
endif # DLKM check
endif # supported target check
endif # WLAN enabled check