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) 169b33792fSJeff JohnsonLOCAL_MODULE_DDK_BUILD := true 179b33792fSJeff JohnsonLOCAL_MODULE_DDK_ALLOW_UNSAFE_HEADERS := true 189b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS := cnss2/cnss2.ko 199b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_utils/cnss_plat_ipc_qmi_svc.ko 209b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_utils/wlan_firmware_service.ko 219b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_genl/cnss_nl.ko 229b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_prealloc/cnss_prealloc.ko 239b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_utils/cnss_utils.ko 249b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += icnss2/icnss2.ko 25*94cdab90SDundi Raviteja 26*94cdab90SDundi RavitejaBOARD_COMMON_DIR ?= device/qcom/common 27*94cdab90SDundi RavitejaDLKM_DIR := $(TOP)/$(BOARD_COMMON_DIR)/dlkm 2869db86ceSYue Ma 2969db86ceSYue Ma# WLAN_PLATFORM_ROOT needs to be a absolute since it will be used 3069db86ceSYue Ma# for header files. $(TOP) cannot be used here since it will be 3169db86ceSYue Ma# resolved as "." which won't work for Kbuild. 3269db86ceSYue MaKBUILD_OPTIONS := WLAN_PLATFORM_ROOT=$(abspath $(LOCAL_PATH)) 3369db86ceSYue Ma 3469db86ceSYue Ma# WLAN_PLATFORM_KBUILD_OPTIONS should be defined from upper level 3569db86ceSYue Ma# Product or Board related Makefiles like wlan.mk. 3669db86ceSYue MaKBUILD_OPTIONS += $(foreach wlan_platform_kbuild_option, \ 3769db86ceSYue Ma $(WLAN_PLATFORM_KBUILD_OPTIONS), \ 3869db86ceSYue Ma $(wlan_platform_kbuild_option)) 3969db86ceSYue Ma 4069db86ceSYue Ma# Sourcing all files is for better incremental compilation. 4169db86ceSYue MaCNSS_SRC_FILES := \ 4269db86ceSYue Ma $(wildcard $(LOCAL_PATH)/*) \ 4369db86ceSYue Ma $(wildcard $(LOCAL_PATH)/*/*) \ 4469db86ceSYue Ma 45203b502eSZhaoyang Liuifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true) 46ad4399e3SManikandan MohanKBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(PWD)/$(call intermediates-dir-for,DLKM,sec-module-symvers)/Module.symvers 47203b502eSZhaoyang Liuendif 48ad4399e3SManikandan Mohan 4969db86ceSYue Ma# Module.symvers needs to be generated as a intermediate module so that 5069db86ceSYue Ma# other modules which depend on WLAN platform modules can set local 5169db86ceSYue Ma# dependencies to it. 5269db86ceSYue Ma 5369db86ceSYue Ma########################### Module.symvers ############################ 5469db86ceSYue Mainclude $(CLEAR_VARS) 5569db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 5669db86ceSYue MaLOCAL_MODULE := wlan-platform-module-symvers 5769db86ceSYue MaLOCAL_MODULE_STEM := Module.symvers 5869db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := Module.symvers 5969db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 6069db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 6169db86ceSYue Ma 6269db86ceSYue Ma# Below are for Android build system to recognize each module name, so 6369db86ceSYue Ma# they can be installed properly. Since Kbuild is used to compile these 6469db86ceSYue Ma# modules, invoking any of them will cause other modules to be compiled 6569db86ceSYue Ma# as well if corresponding flags are added in KBUILD_OPTIONS from upper 6669db86ceSYue Ma# level Makefiles like wlan.mk. 6769db86ceSYue Ma 6869db86ceSYue Ma################################ cnss2 ################################ 6969db86ceSYue Mainclude $(CLEAR_VARS) 70291b1a8dSRajesh Chauhanifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true) 71ad4399e3SManikandan MohanLOCAL_REQUIRED_MODULES := sec-module-symvers 72ad4399e3SManikandan MohanLOCAL_ADDITIONAL_DEPENDENCIES += $(call intermediates-dir-for,DLKM,sec-module-symvers)/Module.symvers 73291b1a8dSRajesh Chauhanendif #TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE 7469db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 7569db86ceSYue MaLOCAL_MODULE := cnss2.ko 7669db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss2/cnss2.ko 7769db86ceSYue MaLOCAL_MODULE_TAGS := optional 7869db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 7969db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 8069db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 8169db86ceSYue Ma######################## cnss_plat_ipc_qmi_svc ######################## 8269db86ceSYue Mainclude $(CLEAR_VARS) 8369db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 8469db86ceSYue MaLOCAL_MODULE := cnss_plat_ipc_qmi_svc.ko 8569db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_utils/cnss_plat_ipc_qmi_svc.ko 8669db86ceSYue MaLOCAL_MODULE_TAGS := optional 8769db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 8869db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 8969db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 9069db86ceSYue Ma######################## wlan_firmware_service ######################## 9169db86ceSYue Mainclude $(CLEAR_VARS) 9269db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 9369db86ceSYue MaLOCAL_MODULE := wlan_firmware_service.ko 9469db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_utils/wlan_firmware_service.ko 9569db86ceSYue MaLOCAL_MODULE_TAGS := optional 9669db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 9769db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 9869db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 9969db86ceSYue Ma############################### cnss_nl ############################### 10069db86ceSYue Mainclude $(CLEAR_VARS) 10169db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 10269db86ceSYue MaLOCAL_MODULE := cnss_nl.ko 10369db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_genl/cnss_nl.ko 10469db86ceSYue MaLOCAL_MODULE_TAGS := optional 10569db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 10669db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 10769db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 10869db86ceSYue Ma############################ cnss_prealloc ############################ 10969db86ceSYue Mainclude $(CLEAR_VARS) 11069db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 11169db86ceSYue MaLOCAL_MODULE := cnss_prealloc.ko 11269db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_prealloc/cnss_prealloc.ko 11369db86ceSYue MaLOCAL_MODULE_TAGS := optional 11469db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 11569db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 11669db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 11769db86ceSYue Ma############################ cnss_utils ############################### 11869db86ceSYue Mainclude $(CLEAR_VARS) 11969db86ceSYue MaLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 12069db86ceSYue MaLOCAL_MODULE := cnss_utils.ko 12169db86ceSYue MaLOCAL_MODULE_KBUILD_NAME := cnss_utils/cnss_utils.ko 12269db86ceSYue MaLOCAL_MODULE_TAGS := optional 12369db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true 12469db86ceSYue MaLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 12569db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk 1263983bc45SNaman Padhiar################################ icnss2 ################################ 1273983bc45SNaman Padhiarinclude $(CLEAR_VARS) 1283983bc45SNaman PadhiarLOCAL_SRC_FILES := $(CNSS_SRC_FILES) 1293983bc45SNaman PadhiarLOCAL_MODULE := icnss2.ko 1303983bc45SNaman PadhiarLOCAL_MODULE_KBUILD_NAME := icnss2/icnss2.ko 1313983bc45SNaman PadhiarLOCAL_MODULE_TAGS := optional 1323983bc45SNaman PadhiarLOCAL_MODULE_DEBUG_ENABLE := true 1333983bc45SNaman PadhiarLOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) 1343983bc45SNaman Padhiarinclude $(DLKM_DIR)/Build_external_kernelmodule.mk 13518d51db0SBruce Levyendif #ENABLE_WLAN_PLATFORM_DLKM 136