169db86ceSYue Ma# Android Makefile for WLAN platform modules 269db86ceSYue Ma 318d51db0SBruce LevyENABLE_WLAN_PLATFORM_DLKM := false 418d51db0SBruce Levyifeq ($(TARGET_KERNEL_DLKM_DISABLE), true) 518d51db0SBruce Levy ifeq ($(TARGET_KERNEL_DLKM_WLAN_OVERRIDE), true) 618d51db0SBruce Levy ENABLE_WLAN_PLATFORM_DLKM := true 718d51db0SBruce Levy endif 818d51db0SBruce Levyelse 918d51db0SBruce Levy ENABLE_WLAN_PLATFORM_DLKM := true 1018d51db0SBruce Levyendif 1118d51db0SBruce Levy 1218d51db0SBruce Levyifeq ($(ENABLE_WLAN_PLATFORM_DLKM), true) 1318d51db0SBruce Levy 1469db86ceSYue Ma# LOCAL_PATH is a relative path to root build directory. 1569db86ceSYue MaLOCAL_PATH := $(call my-dir) 1669db86ceSYue MaDLKM_DIR := $(TOP)/device/qcom/common/dlkm 1769db86ceSYue Ma 1869db86ceSYue Ma# WLAN_PLATFORM_ROOT needs to be a absolute since it will be used 1969db86ceSYue Ma# for header files. $(TOP) cannot be used here since it will be 2069db86ceSYue Ma# resolved as "." which won't work for Kbuild. 2169db86ceSYue MaKBUILD_OPTIONS := WLAN_PLATFORM_ROOT=$(abspath $(LOCAL_PATH)) 2269db86ceSYue Ma 2369db86ceSYue Ma# WLAN_PLATFORM_KBUILD_OPTIONS should be defined from upper level 2469db86ceSYue Ma# Product or Board related Makefiles like wlan.mk. 2569db86ceSYue MaKBUILD_OPTIONS += $(foreach wlan_platform_kbuild_option, \ 2669db86ceSYue Ma $(WLAN_PLATFORM_KBUILD_OPTIONS), \ 2769db86ceSYue Ma $(wlan_platform_kbuild_option)) 2869db86ceSYue Ma 2969db86ceSYue Ma# Sourcing all files is for better incremental compilation. 3069db86ceSYue MaCNSS_SRC_FILES := \ 3169db86ceSYue Ma $(wildcard $(LOCAL_PATH)/*) \ 3269db86ceSYue Ma $(wildcard $(LOCAL_PATH)/*/*) \ 3369db86ceSYue Ma 34*203b502eSZhaoyang Liuifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true) 35ad4399e3SManikandan MohanKBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(PWD)/$(call intermediates-dir-for,DLKM,sec-module-symvers)/Module.symvers 36*203b502eSZhaoyang Liuendif 37ad4399e3SManikandan Mohan 3869db86ceSYue Ma# Module.symvers needs to be generated as a intermediate module so that 3969db86ceSYue Ma# other modules which depend on WLAN platform modules can set local 4069db86ceSYue Ma# dependencies to it. 4169db86ceSYue Ma 4269db86ceSYue Ma########################### Module.symvers ############################ 4369db86ceSYue Mainclude $(CLEAR_VARS) 4469db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 4569db86ceSYue MaLOCAL_MODULE := wlan-platform-module-symvers 4669db86ceSYue MaLOCAL_MODULE_STEM := Module.symvers 4769db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := Module.symvers 4869db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 4969db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 5069db86ceSYue Ma 5169db86ceSYue Ma# Below are for Android build system to recognize each module name, so 5269db86ceSYue Ma# they can be installed properly. Since Kbuild is used to compile these 5369db86ceSYue Ma# modules, invoking any of them will cause other modules to be compiled 5469db86ceSYue Ma# as well if corresponding flags are added in KBUILD_OPTIONS from upper 5569db86ceSYue Ma# level Makefiles like wlan.mk. 5669db86ceSYue Ma 5769db86ceSYue Ma################################ cnss2 ################################ 5869db86ceSYue Mainclude $(CLEAR_VARS) 59291b1a8dSRajesh Chauhanifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true) 60ad4399e3SManikandan MohanLOCAL_REQUIRED_MODULES := sec-module-symvers 61ad4399e3SManikandan MohanLOCAL_ADDITIONAL_DEPENDENCIES += $(call intermediates-dir-for,DLKM,sec-module-symvers)/Module.symvers 62291b1a8dSRajesh Chauhanendif #TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE 6369db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 6469db86ceSYue MaLOCAL_MODULE := cnss2.ko 6569db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss2/cnss2.ko 6669db86ceSYue MaLOCAL_MODULE_TAGS := optional 6769db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 6869db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 6969db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 7069db86ceSYue Ma######################## cnss_plat_ipc_qmi_svc ######################## 7169db86ceSYue Mainclude $(CLEAR_VARS) 7269db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 7369db86ceSYue MaLOCAL_MODULE := cnss_plat_ipc_qmi_svc.ko 7469db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_utils/cnss_plat_ipc_qmi_svc.ko 7569db86ceSYue MaLOCAL_MODULE_TAGS := optional 7669db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 7769db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 7869db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 7969db86ceSYue Ma######################## wlan_firmware_service ######################## 8069db86ceSYue Mainclude $(CLEAR_VARS) 8169db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 8269db86ceSYue MaLOCAL_MODULE := wlan_firmware_service.ko 8369db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_utils/wlan_firmware_service.ko 8469db86ceSYue MaLOCAL_MODULE_TAGS := optional 8569db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 8669db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 8769db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 8869db86ceSYue Ma############################### cnss_nl ############################### 8969db86ceSYue Mainclude $(CLEAR_VARS) 9069db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 9169db86ceSYue MaLOCAL_MODULE := cnss_nl.ko 9269db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_genl/cnss_nl.ko 9369db86ceSYue MaLOCAL_MODULE_TAGS := optional 9469db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 9569db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 9669db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 9769db86ceSYue Ma############################ cnss_prealloc ############################ 9869db86ceSYue Mainclude $(CLEAR_VARS) 9969db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 10069db86ceSYue MaLOCAL_MODULE := cnss_prealloc.ko 10169db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_prealloc/cnss_prealloc.ko 10269db86ceSYue MaLOCAL_MODULE_TAGS := optional 10369db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 10469db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 10569db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 10669db86ceSYue Ma############################ cnss_utils ############################### 10769db86ceSYue Mainclude $(CLEAR_VARS) 10869db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 10969db86ceSYue MaLOCAL_MODULE := cnss_utils.ko 11069db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_utils/cnss_utils.ko 11169db86ceSYue MaLOCAL_MODULE_TAGS := optional 11269db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 11369db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 11469db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 1153983bc45SNaman Padhiar################################ icnss2 ################################ 1163983bc45SNaman Padhiarinclude $(CLEAR_VARS) 1173983bc45SNaman PadhiarLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 1183983bc45SNaman PadhiarLOCAL_MODULE := icnss2.ko 1193983bc45SNaman PadhiarLOCAL_MODULE_KBUILD_NAME := icnss2/icnss2.ko 1203983bc45SNaman PadhiarLOCAL_MODULE_TAGS := optional 1213983bc45SNaman PadhiarLOCAL_MODULE_DEBUG_ENABLE := true 1223983bc45SNaman PadhiarLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 1233983bc45SNaman Padhiarinclude $(DLKM_DIR)/Build_external_kernelmodule.mk 12418d51db0SBruce Levyendif #ENABLE_WLAN_PLATFORM_DLKM 125