M7350/wlan/qcacld-2.0/Kbuild

1497 lines
37 KiB
Plaintext
Raw Normal View History

2024-09-09 08:59:52 +00:00
# We can build either as part of a standalone Kernel build or as
# an external module. Determine which mechanism is being used
ifeq ($(MODNAME),)
KERNEL_BUILD := 1
else
KERNEL_BUILD := 0
endif
ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
CONFIG_QCA_WIFI_SDIO := 1
CONFIG_ROME_IF = sdio
endif
ifndef CONFIG_ROME_IF
CONFIG_ROME_IF = pci
endif
ifeq ($(KERNEL_BUILD),1)
# These are provided in external module based builds
# Need to explicitly define for Kernel-based builds
MODNAME := wlan
WLAN_ROOT := drivers/staging/qcacld-2.0
WLAN_OPEN_SOURCE := 1
endif
ifeq ($(KERNEL_BUILD), 0)
# These are configurable via Kconfig for kernel-based builds
# Need to explicitly configure for Android-based builds
ifeq ($(CONFIG_ARCH_MDM9630), y)
CONFIG_MOBILE_ROUTER := y
endif
ifeq ($(CONFIG_ARCH_MDM9640), y)
CONFIG_MOBILE_ROUTER := y
endif
ifeq ($(CONFIG_ARCH_MDMCALIFORNIUM), y)
CONFIG_MOBILE_ROUTER := y
endif
ifeq ($(CONFIG_ARCH_MDM9607), y)
CONFIG_MOBILE_ROUTER := y
CONFIG_QCOM_LTE_COEX := y
endif
#Flag to enable Legacy Fast Roaming3(LFR3)
CONFIG_QCACLD_WLAN_LFR3 := y
#JB kernel has PMKSA patches, hence enabling this flag
CONFIG_PRIMA_WLAN_OKC := y
# JB kernel has CPU enablement patches, so enable
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_PRIMA_WLAN_11AC_HIGH_TP := y
endif
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
endif
ifeq ($(CONFIG_ROME_IF),sdio)
CONFIG_PRIMA_WLAN_11AC_HIGH_TP := n
endif
ifneq ($(CONFIG_MOBILE_ROUTER), y)
#Flag to enable TDLS feature
CONFIG_QCOM_TDLS := y
endif
#Flag to enable Fast Transition (11r) feature
CONFIG_QCOM_VOWIFI_11R := y
ifneq ($(CONFIG_QCA_CLD_WLAN),)
ifeq ($(CONFIG_CNSS),y)
#Flag to enable Protected Managment Frames (11w) feature
CONFIG_WLAN_FEATURE_11W := y
#Flag to enable LTE CoEx feature
CONFIG_QCOM_LTE_COEX := y
ifneq ($(CONFIG_MOBILE_ROUTER), y)
#Flag to enable LPSS feature
CONFIG_WLAN_FEATURE_LPSS := y
endif
endif
endif
#Flag to enable Protected Managment Frames (11w) feature
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_WLAN_FEATURE_11W := y
endif
ifeq ($(CONFIG_ROME_IF),sdio)
CONFIG_WLAN_FEATURE_11W := y
endif
ifneq ($(CONFIG_MOBILE_ROUTER), y)
#Flag to enable NAN
CONFIG_WLAN_FEATURE_NAN := y
endif
#Flag to enable Linux QCMBR feature as default feature
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_LINUX_QCMBR :=y
endif
ifneq ($(CONFIG_ARCH_MDM9607), y)
#Flag to enable memdump feature
CONFIG_WLAN_FEATURE_MEMDUMP := y
#Flag to enable offload packets feature
CONFIG_WLAN_OFFLOAD_PACKETS := y
endif
endif
ifdef CPTCFG_QCA_CLD_WLAN
WLAN_ROOT := $(BACKPORT_PWD)/drivers/staging/qcacld-2.0
CONFIG_QCA_CLD_WLAN=$(CPTCFG_QCA_CLD_WLAN)
endif
ifeq ($(CONFIG_X86), y)
CONFIG_NON_QC_PLATFORM := y
endif
ifneq ($(CONFIG_MOBILE_ROUTER), y)
# To enable ESE upload, dependent config
# CONFIG_QCOM_ESE must be enabled.
CONFIG_QCOM_ESE := y
CONFIG_QCOM_ESE_UPLOAD := y
endif
# Feature flags which are not (currently) configurable via Kconfig
#Whether to build debug version
BUILD_DEBUG_VERSION := 0
#Enable this flag to build driver in diag version
BUILD_DIAG_VERSION := 1
#Do we panic on bug? default is to warn
PANIC_ON_BUG := 1
#Re-enable wifi on WDI timeout
RE_ENABLE_WIFI_ON_WDI_TIMEOUT := 0
#Enable OS specific ADF abstraction
CONFIG_ADF_SUPPORT := 1
#Enable OL debug and wmi unified functions
CONFIG_ATH_PERF_PWR_OFFLOAD := 1
#Disable packet log
CONFIG_REMOVE_PKT_LOG := 0
ifeq ($(CONFIG_ROME_IF),pci)
#Enable 11AC TX
CONFIG_ATH_11AC_TXCOMPACT := 1
#Enable TSF Capture for Rome PCI
CONFIG_WLAN_SYNC_TSF := y
endif
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_ATH_11AC_TXCOMPACT := 0
endif
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CONFIG_ATH_11AC_TXCOMPACT := 0
endif
#Enable per vdev Tx desc pool
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_PER_VDEV_TX_DESC_POOL := 0
endif
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_PER_VDEV_TX_DESC_POOL := 1
endif
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CONFIG_PER_VDEV_TX_DESC_POOL := 0
endif
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CONFIG_TX_DESC_HI_PRIO_RESERVE := 1
endif
#Enable OS specific IRQ abstraction
CONFIG_ATH_SUPPORT_SHARED_IRQ := 1
#Enable message based HIF instead of RAW access in BMI
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CONFIG_HIF_MESSAGE_BASED := 0
else
CONFIG_HIF_MESSAGE_BASED := 1
endif
#Enable PCI specific APIS (dma, etc)
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_HIF_PCI := 1
endif
#Enable USB specific APIS
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_HIF_USB := 1
endif
#Enable pci read/write config functions
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_ATH_PCI := 1
endif
ifeq ($(CONFIG_ROME_IF),usb)
#CONFIG_ATH_PCI := 1
endif
ifneq ($(CONFIG_MOBILE_ROUTER), y)
#Enable IBSS support on CLD
CONFIG_QCA_IBSS_SUPPORT := 1
endif
#Enable MDNS Offload
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
ifneq ($(CONFIG_ARCH_MDM9607), y)
CONFIG_MDNS_OFFLOAD_SUPPORT := 1
endif
endif
#Enable power management suspend/resume functionality to PCI
CONFIG_ATH_BUS_PM := 1
#Enable dword alignment for IP header
CONFIG_IP_HDR_ALIGNMENT := 0
#Enable FLOWMAC module support
CONFIG_ATH_SUPPORT_FLOWMAC_MODULE := 0
#Enable spectral support
CONFIG_ATH_SUPPORT_SPECTRAL := 0
#Enable HOST statistics support
CONFIG_SUPPORT_HOST_STATISTICS := 0
#Enable WDI Event support
CONFIG_WDI_EVENT_ENABLE := 1
#Endianess selection
CONFIG_LITTLE_ENDIAN := 1
#Enable TX reclaim support
CONFIG_TX_CREDIT_RECLAIM_SUPPORT := 0
#Enable FTM support
CONFIG_QCA_WIFI_FTM := 1
#Enable Checksum Offload
CONFIG_CHECKSUM_OFFLOAD := 1
#Enable GTK offload
CONFIG_GTK_OFFLOAD := 1
#Enable EXT WOW
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_EXT_WOW := 1
endif
#Set this to 1 to catch erroneous Target accesses during debug.
CONFIG_ATH_PCIE_ACCESS_DEBUG := 0
#Enable IPA offload
ifeq ($(CONFIG_IPA), y)
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_IPA_OFFLOAD := 1
CONFIG_IPA_UC_OFFLOAD := 1
endif
endif
#Enable Signed firmware support for split binary format
CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT := 0
#Enable single firmware binary format
CONFIG_QCA_SINGLE_BINARY_SUPPORT := 0
#Enable collecting target RAM dump after kernel panic
CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC := 1
#Flag to enable Stats Ext implementation
CONFIG_FEATURE_STATS_EXT := 1
#Flag to force the inclusion of the 802.11p channels because support
#for these channels has not yet been added to the kernel.
CONFIG_STATICALLY_ADD_11P_CHANNELS := n
ifeq ($(CONFIG_CFG80211),y)
HAVE_CFG80211 := 1
else
ifeq ($(CONFIG_CFG80211),m)
HAVE_CFG80211 := 1
else
HAVE_CFG80211 := 0
endif
endif
############ COMMON ############
COMMON_DIR := CORE/SERVICES/COMMON
COMMON_INC := -I$(WLAN_ROOT)/$(COMMON_DIR)
############ ADF ##############
ADF_DIR := $(COMMON_DIR)/adf
ADF_INC := -I$(WLAN_ROOT)/$(ADF_DIR) \
-I$(WLAN_ROOT)/$(ADF_DIR)/linux \
-I$(WLAN_ROOT)/$(COMMON_DIR)/asf
ADF_OBJS := $(ADF_DIR)/adf_nbuf.o \
$(ADF_DIR)/adf_os_lock.o \
$(ADF_DIR)/adf_os_mem.o \
$(ADF_DIR)/linux/adf_os_defer_pvt.o \
$(ADF_DIR)/linux/adf_os_lock_pvt.o
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
############ HIF ############
HIF_DIR := CORE/SERVICES/HIF
HIF_DIR_OBJS := $(HIF_DIR)/ath_procfs.o
HIF_COMMON_DIR := CORE/SERVICES/HIF/common
HIF_COMMON_OBJS := $(HIF_COMMON_DIR)/hif_bmi_reg_access.o \
$(HIF_COMMON_DIR)/hif_diag_reg_access.o
HIF_SDIO_DIR := CORE/SERVICES/HIF/sdio
HIF_SDIO_OBJS := $(HIF_SDIO_DIR)/hif_sdio_send.o \
$(HIF_SDIO_DIR)/hif_sdio_dev.o \
$(HIF_SDIO_DIR)/hif_sdio.o \
$(HIF_SDIO_DIR)/hif_sdio_recv.o \
$(HIF_SDIO_DIR)/regtable.o \
HIF_SDIO_LINUX_DIR := $(HIF_SDIO_DIR)/linux
HIF_SDIO_LINUX_OBJS := $(HIF_SDIO_LINUX_DIR)/if_ath_sdio.o
HIF_SDIO_NATIVE_DIR := $(HIF_SDIO_LINUX_DIR)/native_sdio
HIF_SDIO_NATIVE_INC_DIR := $(HIF_SDIO_NATIVE_DIR)/include
HIF_SDIO_NATIVE_SRC_DIR := $(HIF_SDIO_NATIVE_DIR)/src
HIF_SDIO_NATIVE_OBJS := $(HIF_SDIO_NATIVE_SRC_DIR)/hif.o \
$(HIF_SDIO_NATIVE_SRC_DIR)/hif_scatter.o
HIF_INC := -I$(WLAN_ROOT)/$(HIF_COMMON_DIR) \
-I$(WLAN_ROOT)/$(HIF_SDIO_DIR) \
-I$(WLAN_ROOT)/$(HIF_SDIO_LINUX_DIR) \
-I$(WLAN_ROOT)/$(HIF_SDIO_NATIVE_INC_DIR) \
-I$(WLAN_ROOT)/$(HIF_SDIO_NATIVE_SRC_DIR)
HIF_OBJS := $(HIF_DIR_OBJS) \
$(HIF_COMMON_OBJS) \
$(HIF_SDIO_OBJS) \
$(HIF_SDIO_LINUX_OBJS) \
$(HIF_SDIO_NATIVE_OBJS)
endif
############ HDD ############
HDD_DIR := CORE/HDD
HDD_INC_DIR := $(HDD_DIR)/inc
HDD_SRC_DIR := $(HDD_DIR)/src
HDD_INC := -I$(WLAN_ROOT)/$(HDD_INC_DIR) \
-I$(WLAN_ROOT)/$(HDD_SRC_DIR)
HDD_OBJS := $(HDD_SRC_DIR)/wlan_hdd_assoc.o \
$(HDD_SRC_DIR)/wlan_hdd_cfg.o \
$(HDD_SRC_DIR)/wlan_hdd_debugfs.o \
$(HDD_SRC_DIR)/wlan_hdd_dev_pwr.o \
$(HDD_SRC_DIR)/wlan_hdd_dp_utils.o \
$(HDD_SRC_DIR)/wlan_hdd_early_suspend.o \
$(HDD_SRC_DIR)/wlan_hdd_ftm.o \
$(HDD_SRC_DIR)/wlan_hdd_hostapd.o \
$(HDD_SRC_DIR)/wlan_hdd_main.o \
$(HDD_SRC_DIR)/wlan_hdd_ocb.o \
$(HDD_SRC_DIR)/wlan_hdd_oemdata.o \
$(HDD_SRC_DIR)/wlan_hdd_scan.o \
$(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \
$(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \
$(HDD_SRC_DIR)/wlan_hdd_trace.o \
$(HDD_SRC_DIR)/wlan_hdd_wext.o \
$(HDD_SRC_DIR)/wlan_hdd_wmm.o \
$(HDD_SRC_DIR)/wlan_hdd_wowl.o
ifeq ($(CONFIG_IPA_OFFLOAD), 1)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ipa.o
endif
ifeq ($(CONFIG_MDNS_OFFLOAD_SUPPORT), 1)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_mdns_offload.o
endif
ifeq ($(HAVE_CFG80211),1)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \
$(HDD_SRC_DIR)/wlan_hdd_p2p.o
endif
ifeq ($(CONFIG_QCOM_TDLS),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tdls.o
endif
ifeq ($(CONFIG_WLAN_SYNC_TSF),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tsf.o
endif
ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o
endif
############ EPPING ############
EPPING_DIR := CORE/EPPING
EPPING_INC_DIR := $(EPPING_DIR)/inc
EPPING_SRC_DIR := $(EPPING_DIR)/src
EPPING_INC := -I$(WLAN_ROOT)/$(EPPING_INC_DIR)
EPPING_OBJS := $(EPPING_SRC_DIR)/epping_main.o \
$(EPPING_SRC_DIR)/epping_txrx.o \
$(EPPING_SRC_DIR)/epping_tx.o \
$(EPPING_SRC_DIR)/epping_rx.o \
$(EPPING_SRC_DIR)/epping_helper.o \
############ MAC ############
MAC_DIR := CORE/MAC
MAC_INC_DIR := $(MAC_DIR)/inc
MAC_SRC_DIR := $(MAC_DIR)/src
MAC_INC := -I$(WLAN_ROOT)/$(MAC_INC_DIR) \
-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/dph \
-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/include \
-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/include \
-I$(WLAN_ROOT)/$(MAC_SRC_DIR)/pe/lim
MAC_CFG_OBJS := $(MAC_SRC_DIR)/cfg/cfgApi.o \
$(MAC_SRC_DIR)/cfg/cfgDebug.o \
$(MAC_SRC_DIR)/cfg/cfgParamName.o \
$(MAC_SRC_DIR)/cfg/cfgProcMsg.o \
$(MAC_SRC_DIR)/cfg/cfgSendMsg.o
MAC_DPH_OBJS := $(MAC_SRC_DIR)/dph/dphHashTable.o
MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/limAIDmgmt.o \
$(MAC_SRC_DIR)/pe/lim/limAdmitControl.o \
$(MAC_SRC_DIR)/pe/lim/limApi.o \
$(MAC_SRC_DIR)/pe/lim/limAssocUtils.o \
$(MAC_SRC_DIR)/pe/lim/limDebug.o \
$(MAC_SRC_DIR)/pe/lim/limFT.o \
$(MAC_SRC_DIR)/pe/lim/limIbssPeerMgmt.o \
$(MAC_SRC_DIR)/pe/lim/limLinkMonitoringAlgo.o \
$(MAC_SRC_DIR)/pe/lim/limLogDump.o \
$(MAC_SRC_DIR)/pe/lim/limP2P.o \
$(MAC_SRC_DIR)/pe/lim/limProcessActionFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessAssocReqFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessAssocRspFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessAuthFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessBeaconFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessCfgUpdates.o \
$(MAC_SRC_DIR)/pe/lim/limProcessDeauthFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessDisassocFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessMessageQueue.o \
$(MAC_SRC_DIR)/pe/lim/limProcessMlmReqMessages.o \
$(MAC_SRC_DIR)/pe/lim/limProcessMlmRspMessages.o \
$(MAC_SRC_DIR)/pe/lim/limProcessProbeReqFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessProbeRspFrame.o \
$(MAC_SRC_DIR)/pe/lim/limProcessSmeReqMessages.o \
$(MAC_SRC_DIR)/pe/lim/limPropExtsUtils.o \
$(MAC_SRC_DIR)/pe/lim/limRoamingAlgo.o \
$(MAC_SRC_DIR)/pe/lim/limScanResultUtils.o \
$(MAC_SRC_DIR)/pe/lim/limSecurityUtils.o \
$(MAC_SRC_DIR)/pe/lim/limSendManagementFrames.o \
$(MAC_SRC_DIR)/pe/lim/limSendMessages.o \
$(MAC_SRC_DIR)/pe/lim/limSendSmeRspMessages.o \
$(MAC_SRC_DIR)/pe/lim/limSerDesUtils.o \
$(MAC_SRC_DIR)/pe/lim/limSession.o \
$(MAC_SRC_DIR)/pe/lim/limSessionUtils.o \
$(MAC_SRC_DIR)/pe/lim/limSmeReqUtils.o \
$(MAC_SRC_DIR)/pe/lim/limStaHashApi.o \
$(MAC_SRC_DIR)/pe/lim/limTimerUtils.o \
$(MAC_SRC_DIR)/pe/lim/limTrace.o \
$(MAC_SRC_DIR)/pe/lim/limUtils.o
ifeq ($(CONFIG_QCOM_ESE),y)
ifneq ($(CONFIG_QCOM_ESE_UPLOAD),y)
MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/limProcessEseFrame.o
endif
endif
ifeq ($(CONFIG_QCOM_TDLS),y)
MAC_LIM_OBJS += $(MAC_SRC_DIR)/pe/lim/limProcessTdls.o
endif
MAC_PMM_OBJS := $(MAC_SRC_DIR)/pe/pmm/pmmAP.o \
$(MAC_SRC_DIR)/pe/pmm/pmmApi.o \
$(MAC_SRC_DIR)/pe/pmm/pmmDebug.o
MAC_SCH_OBJS := $(MAC_SRC_DIR)/pe/sch/schApi.o \
$(MAC_SRC_DIR)/pe/sch/schBeaconGen.o \
$(MAC_SRC_DIR)/pe/sch/schBeaconProcess.o \
$(MAC_SRC_DIR)/pe/sch/schDebug.o \
$(MAC_SRC_DIR)/pe/sch/schMessage.o
MAC_RRM_OBJS := $(MAC_SRC_DIR)/pe/rrm/rrmApi.o
MAC_OBJS := $(MAC_CFG_OBJS) \
$(MAC_DPH_OBJS) \
$(MAC_LIM_OBJS) \
$(MAC_PMM_OBJS) \
$(MAC_SCH_OBJS) \
$(MAC_RRM_OBJS)
############ SAP ############
SAP_DIR := CORE/SAP
SAP_INC_DIR := $(SAP_DIR)/inc
SAP_SRC_DIR := $(SAP_DIR)/src
SAP_INC := -I$(WLAN_ROOT)/$(SAP_INC_DIR) \
-I$(WLAN_ROOT)/$(SAP_SRC_DIR)
SAP_OBJS := $(SAP_SRC_DIR)/sapApiLinkCntl.o \
$(SAP_SRC_DIR)/sapChSelect.o \
$(SAP_SRC_DIR)/sapFsm.o \
$(SAP_SRC_DIR)/sapModule.o
############ DFS ############ 350
DFS_DIR := CORE/SERVICES/DFS
DFS_INC_DIR := $(DFS_DIR)/inc
DFS_SRC_DIR := $(DFS_DIR)/src
DFS_INC := -I$(WLAN_ROOT)/$(DFS_INC_DIR) \
-I$(WLAN_ROOT)/$(DFS_SRC_DIR)
DFS_OBJS := $(DFS_SRC_DIR)/dfs_bindetects.o \
$(DFS_SRC_DIR)/dfs.o \
$(DFS_SRC_DIR)/dfs_debug.o\
$(DFS_SRC_DIR)/dfs_fcc_bin5.o\
$(DFS_SRC_DIR)/dfs_init.o\
$(DFS_SRC_DIR)/dfs_misc.o\
$(DFS_SRC_DIR)/dfs_nol.o\
$(DFS_SRC_DIR)/dfs_phyerr_tlv.o\
$(DFS_SRC_DIR)/dfs_process_phyerr.o\
$(DFS_SRC_DIR)/dfs_process_radarevent.o\
$(DFS_SRC_DIR)/dfs_staggered.o
############ SME ############
SME_DIR := CORE/SME
SME_INC_DIR := $(SME_DIR)/inc
SME_SRC_DIR := $(SME_DIR)/src
SME_INC := -I$(WLAN_ROOT)/$(SME_INC_DIR) \
-I$(WLAN_ROOT)/$(SME_SRC_DIR)/csr
SME_CCM_OBJS := $(SME_SRC_DIR)/ccm/ccmApi.o \
$(SME_SRC_DIR)/ccm/ccmLogDump.o
SME_CSR_OBJS := $(SME_SRC_DIR)/csr/csrApiRoam.o \
$(SME_SRC_DIR)/csr/csrApiScan.o \
$(SME_SRC_DIR)/csr/csrCmdProcess.o \
$(SME_SRC_DIR)/csr/csrLinkList.o \
$(SME_SRC_DIR)/csr/csrLogDump.o \
$(SME_SRC_DIR)/csr/csrNeighborRoam.o \
$(SME_SRC_DIR)/csr/csrUtil.o
ifeq ($(CONFIG_QCOM_ESE),y)
ifneq ($(CONFIG_QCOM_ESE_UPLOAD),y)
SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csrEse.o
endif
endif
ifeq ($(CONFIG_QCOM_TDLS),y)
SME_CSR_OBJS += $(SME_SRC_DIR)/csr/csrTdlsProcess.o
endif
SME_PMC_OBJS := $(SME_SRC_DIR)/pmc/pmcApi.o \
$(SME_SRC_DIR)/pmc/pmc.o \
$(SME_SRC_DIR)/pmc/pmcLogDump.o
SME_QOS_OBJS := $(SME_SRC_DIR)/QoS/sme_Qos.o
SME_CMN_OBJS := $(SME_SRC_DIR)/sme_common/sme_Api.o \
$(SME_SRC_DIR)/sme_common/sme_FTApi.o \
$(SME_SRC_DIR)/sme_common/sme_Trace.o
SME_BTC_OBJS := $(SME_SRC_DIR)/btc/btcApi.o
SME_OEM_DATA_OBJS := $(SME_SRC_DIR)/oemData/oemDataApi.o
SME_P2P_OBJS = $(SME_SRC_DIR)/p2p/p2p_Api.o
SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o
ifeq ($(CONFIG_WLAN_FEATURE_NAN),y)
SME_NAN_OBJS = $(SME_SRC_DIR)/nan/nan_Api.o
endif
SME_OBJS := $(SME_BTC_OBJS) \
$(SME_CCM_OBJS) \
$(SME_CMN_OBJS) \
$(SME_CSR_OBJS) \
$(SME_OEM_DATA_OBJS) \
$(SME_P2P_OBJS) \
$(SME_PMC_OBJS) \
$(SME_QOS_OBJS) \
$(SME_RRM_OBJS) \
$(SME_NAN_OBJS)
############ SVC ############
SVC_DIR := CORE/SVC
SVC_INC_DIR := $(SVC_DIR)/inc
SVC_SRC_DIR := $(SVC_DIR)/src
SVC_INC := -I$(WLAN_ROOT)/$(SVC_INC_DIR) \
-I$(WLAN_ROOT)/$(SVC_DIR)/external
BTC_SRC_DIR := $(SVC_SRC_DIR)/btc
BTC_OBJS := $(BTC_SRC_DIR)/wlan_btc_svc.o
NLINK_SRC_DIR := $(SVC_SRC_DIR)/nlink
NLINK_OBJS := $(NLINK_SRC_DIR)/wlan_nlink_srv.o
PTT_SRC_DIR := $(SVC_SRC_DIR)/ptt
PTT_OBJS := $(PTT_SRC_DIR)/wlan_ptt_sock_svc.o
WLAN_LOGGING_SRC_DIR := $(SVC_SRC_DIR)/logging
WLAN_LOGGING_OBJS := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o
SVC_OBJS := $(BTC_OBJS) \
$(NLINK_OBJS) \
$(PTT_OBJS) \
$(WLAN_LOGGING_OBJS)
############ SYS ############
SYS_DIR := CORE/SYS
SYS_INC := -I$(WLAN_ROOT)/$(SYS_DIR)/common/inc \
-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/pal/inc \
-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/platform/inc \
-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/system/inc \
-I$(WLAN_ROOT)/$(SYS_DIR)/legacy/src/utils/inc
SYS_COMMON_SRC_DIR := $(SYS_DIR)/common/src
SYS_LEGACY_SRC_DIR := $(SYS_DIR)/legacy/src
SYS_OBJS := $(SYS_COMMON_SRC_DIR)/wlan_qct_sys.o \
$(SYS_LEGACY_SRC_DIR)/pal/src/palApiComm.o \
$(SYS_LEGACY_SRC_DIR)/platform/src/VossWrapper.o \
$(SYS_LEGACY_SRC_DIR)/system/src/macInitApi.o \
$(SYS_LEGACY_SRC_DIR)/system/src/sysEntryFunc.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/logApi.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/logDump.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/macTrace.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/parserApi.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/utilsApi.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/utilsParser.o
############ TL ############
TL_DIR := CORE/TL
TL_INC_DIR := $(TL_DIR)/inc
TL_INC := -I$(WLAN_ROOT)/$(TL_INC_DIR)
############ VOSS ############
VOSS_DIR := CORE/VOSS
VOSS_INC_DIR := $(VOSS_DIR)/inc
VOSS_SRC_DIR := $(VOSS_DIR)/src
VOSS_INC := -I$(WLAN_ROOT)/$(VOSS_INC_DIR) \
-I$(WLAN_ROOT)/$(VOSS_SRC_DIR)
VOSS_OBJS := $(VOSS_SRC_DIR)/vos_api.o \
$(VOSS_SRC_DIR)/vos_event.o \
$(VOSS_SRC_DIR)/vos_getBin.o \
$(VOSS_SRC_DIR)/vos_list.o \
$(VOSS_SRC_DIR)/vos_lock.o \
$(VOSS_SRC_DIR)/vos_memory.o \
$(VOSS_SRC_DIR)/vos_mq.o \
$(VOSS_SRC_DIR)/vos_nvitem.o \
$(VOSS_SRC_DIR)/vos_packet.o \
$(VOSS_SRC_DIR)/vos_sched.o \
$(VOSS_SRC_DIR)/vos_threads.o \
$(VOSS_SRC_DIR)/vos_timer.o \
$(VOSS_SRC_DIR)/vos_trace.o \
$(VOSS_SRC_DIR)/vos_types.o \
$(VOSS_SRC_DIR)/vos_utils.o
ifeq ($(BUILD_DIAG_VERSION),1)
VOSS_OBJS += $(VOSS_SRC_DIR)/vos_diag.o
endif
########### BMI ###########
BMI_DIR := CORE/SERVICES/BMI
BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)
BMI_OBJS := $(BMI_DIR)/bmi.o \
$(BMI_DIR)/ol_fw.o
########### WMI ###########
WMI_DIR := CORE/SERVICES/WMI
WMI_INC := -I$(WLAN_ROOT)/$(WMI_DIR)
WMI_OBJS := $(WMI_DIR)/wmi_unified.o \
$(WMI_DIR)/wmi_tlv_helper.o
########### FWLOG ###########
FWLOG_DIR := CORE/UTILS/FWLOG
FWLOG_INC := -I$(WLAN_ROOT)/$(FWLOG_DIR)
FWLOG_OBJS := $(FWLOG_DIR)/dbglog_host.o
############ TLSHIM ############
TLSHIM_DIR := CORE/CLD_TXRX/TLSHIM
TLSHIM_INC := -I$(WLAN_ROOT)/$(TLSHIM_DIR)
TLSHIM_OBJS := $(TLSHIM_DIR)/tl_shim.o
############ TXRX ############
TXRX_DIR := CORE/CLD_TXRX/TXRX
TXRX_INC := -I$(WLAN_ROOT)/$(TXRX_DIR)
TXRX_OBJS := $(TXRX_DIR)/ol_txrx.o \
$(TXRX_DIR)/ol_cfg.o \
$(TXRX_DIR)/ol_rx.o \
$(TXRX_DIR)/ol_rx_fwd.o \
$(TXRX_DIR)/ol_txrx.o \
$(TXRX_DIR)/ol_rx_defrag.o \
$(TXRX_DIR)/ol_tx_desc.o \
$(TXRX_DIR)/ol_tx_classify.o \
$(TXRX_DIR)/ol_tx.o \
$(TXRX_DIR)/ol_rx_reorder_timeout.o \
$(TXRX_DIR)/ol_rx_reorder.o \
$(TXRX_DIR)/ol_rx_pn.o \
$(TXRX_DIR)/ol_tx_queue.o \
$(TXRX_DIR)/ol_txrx_peer_find.o \
$(TXRX_DIR)/ol_txrx_event.o \
$(TXRX_DIR)/ol_txrx_encap.o \
$(TXRX_DIR)/ol_tx_send.o \
$(TXRX_DIR)/ol_tx_sched.o
############ PKTLOG ############
PKTLOG_DIR := CORE/UTILS/PKTLOG
PKTLOG_INC := -I$(WLAN_ROOT)/$(PKTLOG_DIR)/include
PKTLOG_OBJS := $(PKTLOG_DIR)/pktlog_ac.o \
$(PKTLOG_DIR)/pktlog_internal.o \
$(PKTLOG_DIR)/linux_ac.o
############ HTT ############
HTT_DIR := CORE/CLD_TXRX/HTT
HTT_INC := -I$(WLAN_ROOT)/$(HTT_DIR)
HTT_OBJS := $(HTT_DIR)/htt_tx.o \
$(HTT_DIR)/htt.o \
$(HTT_DIR)/htt_t2h.o \
$(HTT_DIR)/htt_h2t.o \
$(HTT_DIR)/htt_fw_stats.o \
$(HTT_DIR)/htt_rx.o
############## HTC ##########
HTC_DIR := CORE/SERVICES/HTC
HTC_INC := -I$(WLAN_ROOT)/$(HTC_DIR)
HTC_OBJS := $(HTC_DIR)/htc.o \
$(HTC_DIR)/htc_send.o \
$(HTC_DIR)/htc_recv.o \
$(HTC_DIR)/htc_services.o
ifneq ($(CONFIG_QCA_WIFI_SDIO), 1)
########### HIF ###########
HIF_DIR := CORE/SERVICES/HIF
ifeq ($(CONFIG_HIF_PCI), 1)
HIF_PCIE_DIR := $(HIF_DIR)/PCIe
HIF_INC := -I$(WLAN_ROOT)/$(HIF_PCIE_DIR)
HIF_OBJS := $(HIF_DIR)/ath_procfs.o
HIF_PCIE_OBJS := $(HIF_PCIE_DIR)/copy_engine.o \
$(HIF_PCIE_DIR)/hif_pci.o \
$(HIF_PCIE_DIR)/if_pci.o \
$(HIF_PCIE_DIR)/regtable.o \
$(HIF_PCIE_DIR)/mp_dev.o
HIF_OBJS += $(HIF_PCIE_OBJS)
endif
ifeq ($(CONFIG_HIF_USB), 1)
HIF_USB_DIR := $(HIF_DIR)/USB
HIF_INC := -I$(WLAN_ROOT)/$(HIF_USB_DIR)
HIF_OBJS := $(HIF_DIR)/ath_procfs.o
HIF_USB_OBJS := $(HIF_USB_DIR)/usbdrv.o \
$(HIF_USB_DIR)/hif_usb.o \
$(HIF_USB_DIR)/if_usb.o \
$(HIF_USB_DIR)/regtable.o
HIF_OBJS += $(HIF_USB_OBJS)
endif
endif
############ WMA ############
WMA_DIR := CORE/SERVICES/WMA
WMA_INC := -I$(WLAN_ROOT)/$(WMA_DIR)
WMA_OBJS := $(WMA_DIR)/regdomain.o \
$(WMA_DIR)/wlan_nv.o \
$(WMA_DIR)/wma.o \
$(WMA_DIR)/wma_dfs_interface.o \
$(WMA_DIR)/wma_ocb.o
############ WDA ############
WDA_DIR := CORE/WDA
WDA_INC_DIR := $(WDA_DIR)/inc
WDA_SRC_DIR := $(WDA_DIR)/src
WDA_INC := -I$(WLAN_ROOT)/$(WDA_INC_DIR) \
-I$(WLAN_ROOT)/$(WDA_INC_DIR)/legacy \
-I$(WLAN_ROOT)/$(WDA_SRC_DIR)
WDA_OBJS := $(WDA_SRC_DIR)/wlan_qct_wda_debug.o \
$(WDA_SRC_DIR)/wlan_qct_wda_legacy.o
############ WDI ############
WDI_DIR := CORE/WDI
WDI_CP_INC := -I$(WLAN_ROOT)/$(WDI_DIR)/CP/inc/
WDI_DP_INC := -I$(WLAN_ROOT)/$(WDI_DIR)/DP/inc/
WDI_TRP_INC := -I$(WLAN_ROOT)/$(WDI_DIR)/TRP/CTS/inc/ \
-I$(WLAN_ROOT)/$(WDI_DIR)/TRP/DTS/inc/
WDI_WPAL_INC := -I$(WLAN_ROOT)/$(WDI_DIR)/WPAL/inc
WDI_INC := $(WDI_CP_INC) \
$(WDI_DP_INC) \
$(WDI_TRP_INC) \
$(WDI_WPAL_INC)
WCNSS_INC := -I$(WLAN_ROOT)/wcnss/inc
LINUX_INC := -Iinclude/linux
INCS := $(HDD_INC) \
$(EPPING_INC) \
$(LINUX_INC) \
$(MAC_INC) \
$(WCNSS_INC) \
$(SAP_INC) \
$(SME_INC) \
$(SVC_INC) \
$(SYS_INC) \
$(TL_INC) \
$(VOSS_INC) \
$(WDA_INC) \
$(WDI_INC) \
$(DFS_INC)
INCS += $(WMA_INC) \
$(COMMON_INC) \
$(WMI_INC) \
$(FWLOG_INC) \
$(ADF_INC) \
$(TLSHIM_INC) \
$(TXRX_INC) \
$(PKTLOG_INC) \
$(HTT_INC) \
$(HTC_INC) \
$(DFS_INC)
INCS += $(HIF_INC) \
$(BMI_INC)
ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
INCS += $(PKTLOG_INC)
endif
OBJS := $(HDD_OBJS) \
$(EPPING_OBJS) \
$(MAC_OBJS) \
$(SAP_OBJS) \
$(SME_OBJS) \
$(SVC_OBJS) \
$(SYS_OBJS) \
$(VOSS_OBJS) \
$(WDA_OBJS) \
$(DFS_OBJS)
OBJS += $(WMA_OBJS) \
$(TLSHIM_OBJS) \
$(TXRX_OBJS) \
$(WMI_OBJS) \
$(FWLOG_OBJS) \
$(HTC_OBJS) \
$(ADF_OBJS) \
$(DFS_OBJS)
OBJS += $(HIF_OBJS) \
$(BMI_OBJS) \
$(HTT_OBJS)
ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
OBJS += $(PKTLOG_OBJS)
endif
EXTRA_CFLAGS += $(INCS)
CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \
-DANI_LITTLE_BIT_ENDIAN \
-DQC_WLAN_CHIPSET_QCA_CLD \
-DDOT11F_LITTLE_ENDIAN_HOST \
-DANI_COMPILER_TYPE_GCC \
-DANI_OS_TYPE_ANDROID=6 \
-DANI_LOGDUMP \
-DWLAN_PERF \
-DPTT_SOCK_SVC_ENABLE \
-Wall\
-Werror\
-D__linux__ \
-DHAL_SELF_STA_PER_BSS=1 \
-DWLAN_FEATURE_VOWIFI_11R \
-DWLAN_FEATURE_NEIGHBOR_ROAMING \
-DWLAN_FEATURE_NEIGHBOR_ROAMING_DEBUG \
-DWLAN_FEATURE_VOWIFI_11R_DEBUG \
-DFEATURE_WLAN_WAPI \
-DFEATURE_OEM_DATA_SUPPORT\
-DSOFTAP_CHANNEL_RANGE \
-DWLAN_AP_STA_CONCURRENCY \
-DFEATURE_WLAN_SCAN_PNO \
-DWLAN_FEATURE_PACKET_FILTERING \
-DWLAN_FEATURE_VOWIFI \
-DWLAN_FEATURE_11AC \
-DWLAN_FEATURE_P2P_DEBUG \
-DWLAN_ENABLE_AGEIE_ON_SCAN_RESULTS \
-DWLANTL_DEBUG\
-DWLAN_NS_OFFLOAD \
-DWLAN_ACTIVEMODE_OFFLOAD_FEATURE \
-DWLAN_SOFTAP_VSTA_FEATURE \
-DWLAN_FEATURE_ROAM_SCAN_OFFLOAD \
-DWLAN_FEATURE_GTK_OFFLOAD \
-DWLAN_WAKEUP_EVENTS \
-DFEATURE_WLAN_RA_FILTERING\
-DWLAN_KD_READY_NOTIFIER \
-DWLAN_NL80211_TESTMODE \
-DFEATURE_WLAN_LPHB \
-DFEATURE_WLAN_PAL_TIMER_DISABLE \
-DFEATURE_WLAN_PAL_MEM_DISABLE \
-DQCA_SUPPORT_TX_THROTTLE \
-DWMI_INTERFACE_EVENT_LOGGING \
-DATH_SUPPORT_WAPI \
-DWLAN_FEATURE_LINK_LAYER_STATS \
-DWLAN_LOGGING_SOCK_SVC_ENABLE \
-DFEATURE_WLAN_EXTSCAN \
-DFEATURE_WLAN_LFR \
-DFEATURE_WLAN_CH144 \
-DHTC_CRP_DEBUG
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CDEFINES += -DCONFIG_HL_SUPPORT \
-DCONFIG_AR6320_SUPPORT \
-DSDIO_3_0 \
-DHIF_SDIO \
-DCONFIG_ATH_PROCFS_DIAG_SUPPORT \
-DFEATURE_HL_GROUP_CREDIT_FLOW_CONTROL \
-DHIF_MBOX_SLEEP_WAR
endif
ifeq ($(CONFIG_ARCH_MDM9607), y)
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CDEFINES += -DDEBUG_HL_LOGGING
CDEFINES += -DHIF_SYNC_READ
CDEFINES += -DFEATURE_BUS_BANDWIDTH
endif
endif
ifeq ($(CONFIG_ARCH_MDM9607), y)
CDEFINES += -DCONFIG_TUFELLO_DUAL_FW_SUPPORT
endif
ifeq ($(CONFIG_QCA_WIFI_SDIO), 1)
CDEFINES += -DFEATURE_WLAN_FORCE_SAP_SCC
ifneq ($(CONFIG_ARCH_MDM9607), y)
CDEFINES += -DDHCP_SERVER_OFFLOAD
CDEFINES += -DWLAN_FEATURE_GPIO_LED_FLASHING
CDEFINES += -DWLAN_FEATURE_APFIND
endif
ifneq ($(CONFIG_NON_QC_PLATFORM), y)
CDEFINES += -DDFS_MASTER_OFFLOAD_IND_SUPPORT
endif
endif
ifeq ($(CONFIG_MDNS_OFFLOAD_SUPPORT), 1)
CDEFINES += -DMDNS_OFFLOAD
endif
ifeq ($(CONFIG_ARCH_MSM), y)
CDEFINES += -DMSM_PLATFORM
ifeq ($(CONFIG_CNSS_PCI), y)
CDEFINES += -DFEATURE_BUS_BANDWIDTH
endif
endif
ifeq ($(CONFIG_MOBILE_ROUTER), y)
CDEFINES += -DMDM_PLATFORM
endif
CDEFINES += -DOSIF_NEED_RX_PEER_ID \
-DQCA_SUPPORT_TXRX_LOCAL_PEER_ID
ifeq ($(CONFIG_ROME_IF),pci)
ifneq ($(CONFIG_MOBILE_ROUTER),y)
CDEFINES += -DQCA_LL_TX_FLOW_CT
endif
CDEFINES += -DQCA_SUPPORT_TXRX_VDEV_PAUSE_LL \
-DQCA_SUPPORT_TXRX_VDEV_LL_TXQ
endif
ifneq ($(CONFIG_QCA_CLD_WLAN),)
CDEFINES += -DWCN_PRONTO
CDEFINES += -DWCN_PRONTO_V1
endif
CDEFINES += -DTRACE_RECORD \
-DLIM_TRACE_RECORD \
-DSME_TRACE_RECORD \
-DHDD_TRACE_RECORD
ifeq ($(BUILD_DEBUG_VERSION),1)
CDEFINES += -DWLAN_DEBUG \
-DPE_DEBUG_LOGW \
-DPE_DEBUG_LOGE \
-DDEBUG
endif
ifeq ($(CONFIG_SLUB_DEBUG_ON),y)
CDEFINES += -DTIMER_MANAGER
CDEFINES += -DMEMORY_DEBUG
endif
ifeq ($(HAVE_CFG80211),1)
CDEFINES += -DWLAN_FEATURE_P2P
CDEFINES += -DWLAN_FEATURE_WFD
ifeq ($(CONFIG_QCOM_VOWIFI_11R),y)
CDEFINES += -DKERNEL_SUPPORT_11R_CFG80211
CDEFINES += -DUSE_80211_WMMTSPEC_FOR_RIC
endif
endif
ifeq ($(CONFIG_QCOM_ESE),y)
CDEFINES += -DFEATURE_WLAN_ESE
CDEFINES += -DQCA_COMPUTE_TX_DELAY
CDEFINES += -DQCA_COMPUTE_TX_DELAY_PER_TID
ifeq ($(CONFIG_QCOM_ESE_UPLOAD),y)
CDEFINES += -DFEATURE_WLAN_ESE_UPLOAD
endif
endif
#normally, TDLS negative behavior is not needed
ifeq ($(CONFIG_QCOM_TDLS),y)
CDEFINES += -DFEATURE_WLAN_TDLS
CDEFINES += -DCONFIG_TDLS_IMPLICIT
endif
ifeq ($(CONFIG_QCACLD_WLAN_LFR3),y)
CDEFINES += -DWLAN_FEATURE_ROAM_OFFLOAD
endif
ifeq ($(CONFIG_PRIMA_WLAN_OKC),y)
CDEFINES += -DFEATURE_WLAN_OKC
endif
ifeq ($(CONFIG_PRIMA_WLAN_11AC_HIGH_TP),y)
CDEFINES += -DWLAN_FEATURE_11AC_HIGH_TP
endif
ifeq ($(BUILD_DIAG_VERSION),1)
CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT
CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_CSR
CDEFINES += -DFEATURE_WLAN_DIAG_SUPPORT_LIM
ifeq ($(CONFIG_HIF_PCI), 1)
CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
endif
endif
ifeq ($(CONFIG_HIF_USB), 1)
CDEFINES += -DCONFIG_ATH_PROCFS_DIAG_SUPPORT
CDEFINES += -DQCA_SUPPORT_OL_RX_REORDER_TIMEOUT
CDEFINES += -DCONFIG_ATH_PCIE_MAX_PERF=0 -DCONFIG_ATH_PCIE_AWAKE_WHILE_DRIVER_LOAD=0 -DCONFIG_DISABLE_CDC_MAX_PERF_WAR=0
CDEFINES += -DQCA_TX_HTT2_SUPPORT
CDEFINES += -DCONFIG_HDD_INIT_WITH_RTNL_LOCK
ifeq ($(CONFIG_HIF_USB_TASKLET), 1)
CDEFINES += -DHIF_USB_TASKLET
endif
endif
ifneq ($(TARGET_BUILD_VARIANT),user)
CDEFINES += -DDEBUG_RX_RING_BUFFER
endif
# enable the MAC Address auto-generation feature
CDEFINES += -DWLAN_AUTOGEN_MACADDR_FEATURE
ifeq ($(CONFIG_WLAN_FEATURE_11W),y)
CDEFINES += -DWLAN_FEATURE_11W
endif
ifeq ($(CONFIG_QCOM_LTE_COEX),y)
CDEFINES += -DFEATURE_WLAN_CH_AVOID
endif
ifeq ($(CONFIG_WLAN_FEATURE_LPSS),y)
CDEFINES += -DWLAN_FEATURE_LPSS
endif
ifeq ($(PANIC_ON_BUG),1)
CDEFINES += -DPANIC_ON_BUG
endif
ifeq ($(RE_ENABLE_WIFI_ON_WDI_TIMEOUT),1)
CDEFINES += -DWDI_RE_ENABLE_WIFI_ON_WDI_TIMEOUT
endif
ifeq ($(WLAN_OPEN_SOURCE), 1)
CDEFINES += -DWLAN_OPEN_SOURCE
endif
ifeq ($(CONFIG_FEATURE_STATS_EXT), 1)
CDEFINES += -DWLAN_FEATURE_STATS_EXT
endif
ifeq ($(CONFIG_WLAN_FEATURE_NAN),y)
CDEFINES += -DWLAN_FEATURE_NAN
endif
ifeq ($(CONFIG_QCA_IBSS_SUPPORT), 1)
CDEFINES += -DQCA_IBSS_SUPPORT
endif
#Enable the OS specific ADF abstraction
ifeq ($(CONFIG_ADF_SUPPORT), 1)
CDEFINES += -DADF_SUPPORT
endif
#Enable OL debug and wmi unified functions
ifeq ($(CONFIG_ATH_PERF_PWR_OFFLOAD), 1)
CDEFINES += -DATH_PERF_PWR_OFFLOAD
endif
#Disable packet log
ifeq ($(CONFIG_REMOVE_PKT_LOG), 1)
CDEFINES += -DREMOVE_PKT_LOG
endif
#Enable 11AC TX
ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1)
CDEFINES += -DATH_11AC_TXCOMPACT
endif
#Enable per vdev Tx desc pool
ifeq ($(CONFIG_PER_VDEV_TX_DESC_POOL), 1)
CDEFINES += -DCONFIG_PER_VDEV_TX_DESC_POOL
endif
#Enable Tx mgmt desc reserve
ifeq ($(CONFIG_TX_DESC_HI_PRIO_RESERVE), 1)
CDEFINES += -DCONFIG_TX_DESC_HI_PRIO_RESERVE
endif
#Enable OS specific IRQ abstraction
ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1)
CDEFINES += -DATH_SUPPORT_SHARED_IRQ
endif
#Enable message based HIF instead of RAW access in BMI
ifeq ($(CONFIG_HIF_MESSAGE_BASED), 1)
CDEFINES += -DHIF_MESSAGE_BASED
endif
#Enable PCI specific APIS (dma, etc)
ifeq ($(CONFIG_HIF_PCI), 1)
CDEFINES += -DHIF_PCI
endif
#Enable USB specific APIS
ifeq ($(CONFIG_HIF_USB), 1)
CDEFINES += -DHIF_USB
CDEFINES += -DCONFIG_HL_SUPPORT
endif
#Enable FW logs through ini
CDEFINES += -DCONFIG_FW_LOGS_BASED_ON_INI
#Enable pci read/write config functions
ifeq ($(CONFIG_ATH_PCI), 1)
CDEFINES += -DATH_PCI
endif
#Enable power management suspend/resume functionality
ifeq ($(CONFIG_ATH_BUS_PM), 1)
CDEFINES += -DATH_BUS_PM
endif
#Enable dword alignment for IP header
ifeq ($(CONFIG_IP_HDR_ALIGNMENT), 1)
CDEFINES += -DPERE_IP_HDR_ALIGNMENT_WAR
endif
#Enable FLOWMAC module support
ifeq ($(CONFIG_ATH_SUPPORT_FLOWMAC_MODULE), 1)
CDEFINES += -DATH_SUPPORT_FLOWMAC_MODULE
endif
#Enable spectral support
ifeq ($(CONFIG_ATH_SUPPORT_SPECTRAL), 1)
CDEFINES += -DATH_SUPPORT_SPECTRAL
endif
#Enable WDI Event support
ifeq ($(CONFIG_WDI_EVENT_ENABLE), 1)
CDEFINES += -DWDI_EVENT_ENABLE
endif
#Endianess selection
ifeq ($(CONFIG_LITTLE_ENDIAN), 1)
AH_LITTLE_ENDIAN=1234
CDEFINES += -DAH_BYTE_ORDER=$(AH_LITTLE_ENDIAN)
else
AH_BIG_ENDIAN=4321
CDEFINES += -DAH_BYTE_ORDER=$(AH_BIG_ENDIAN)
CDEFINES += -DBIG_ENDIAN_HOST
endif
#Enable TX reclaim support
ifeq ($(CONFIG_TX_CREDIT_RECLAIM_SUPPORT), 1)
CDEFINES += -DTX_CREDIT_RECLAIM_SUPPORT
endif
#Enable FTM support
ifeq ($(CONFIG_QCA_WIFI_FTM), 1)
CDEFINES += -DQCA_WIFI_FTM
endif
#Enable Checksum Offload support
ifeq ($(CONFIG_CHECKSUM_OFFLOAD), 1)
CDEFINES += -DCHECKSUM_OFFLOAD
endif
#Enable Checksum Offload support
ifeq ($(CONFIG_IPA_OFFLOAD), 1)
CDEFINES += -DIPA_OFFLOAD -DHDD_IPA_USE_IPA_RM_TIMER
endif
ifneq ($(CONFIG_ARCH_MDM9630), y)
ifeq ($(CONFIG_IPA_UC_OFFLOAD), 1)
CDEFINES += -DIPA_UC_OFFLOAD
ifeq ($(CONFIG_ARCH_MDM9640), y)
CDEFINES += -DIPA_UC_STA_OFFLOAD
CDEFINES += -DINTRA_BSS_FWD_OFFLOAD
else
CDEFINES += -DQCA_CONFIG_SMP
endif
endif
endif
ifeq ($(CONFIG_ARCH_MDMCALIFORNIUM), y)
CDEFINES += -DSYNC_IPA_READY
endif
#Enable GTK Offload
ifeq ($(CONFIG_GTK_OFFLOAD), 1)
CDEFINES += -DWLAN_FEATURE_GTK_OFFLOAD
CDEFINES += -DIGTK_OFFLOAD
endif
#Enable GTK Offload
ifeq ($(CONFIG_EXT_WOW), 1)
CDEFINES += -DWLAN_FEATURE_EXTWOW_SUPPORT
endif
#Mark it as SMP Kernel
ifeq ($(CONFIG_SMP),y)
CDEFINES += -DQCA_CONFIG_SMP
endif
#rps feature
ifeq ($(CONFIG_RPS),y)
CDEFINES += -DQCA_FEATURE_RPS
endif
#Enable Channel Matrix restriction for all targets
CDEFINES += -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION
#features specific to mobile router use case
ifeq ($(CONFIG_MOBILE_ROUTER), y)
#enable MCC TO SCC switch
CDEFINES += -DFEATURE_WLAN_MCC_TO_SCC_SWITCH
#Enable 4address scheme
CDEFINES += -DFEATURE_WLAN_STA_4ADDR_SCHEME
#enable wlan auto shutdown feature
CDEFINES += -DFEATURE_WLAN_AUTO_SHUTDOWN
ifneq ($(CONFIG_ARCH_MDM9607), y)
#MDM Device only, to optimize MSM skb cb memory usage
CDEFINES += -DQCA_MDM_DEVICE
endif
#enable for MBSSID
CDEFINES += -DWLAN_FEATURE_MBSSID
#enable AP-AP ACS Optimization
CDEFINES += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE
#Green AP feature
CDEFINES += -DFEATURE_GREEN_AP
#Disable STA-AP Mode DFS support
CDEFINES += -DFEATURE_WLAN_STA_AP_MODE_DFS_DISABLE
#Enable OBSS feature
CDEFINES += -DQCA_HT_2040_COEX
#Disable HT40 in 2.4GHZ STA mode
CDEFINES += -DQCA_HT_20_24G_STA_ONLY
else #CONFIG_MOBILE_ROUTER
#Open P2P device interface only for non-Mobile router use cases
CDEFINES += -DWLAN_OPEN_P2P_INTERFACE
#Enable 2.4 GHz social channels in 5 GHz only mode for p2p usage
CDEFINES += -DWLAN_ENABLE_SOCIAL_CHANNELS_5G_ONLY
endif #CONFIG_MOBILE_ROUTER
#Enable RX Full re-order OL feature only "LL and NON-MDM9630 platform"
ifneq ($(CONFIG_ARCH_MDM9630), y)
ifeq ($(CONFIG_HIF_PCI), 1)
CDEFINES += -DWLAN_FEATURE_RX_FULL_REORDER_OL
endif
endif
#Enable Signed firmware support for split binary format
ifeq ($(CONFIG_QCA_SIGNED_SPLIT_BINARY_SUPPORT), 1)
CDEFINES += -DQCA_SIGNED_SPLIT_BINARY_SUPPORT
endif
#Enable single firmware binary format
ifeq ($(CONFIG_QCA_SINGLE_BINARY_SUPPORT), 1)
CDEFINES += -DQCA_SINGLE_BINARY_SUPPORT
endif
#Enable collecting target RAM dump after kernel panic
ifeq ($(CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC), 1)
CDEFINES += -DTARGET_RAMDUMP_AFTER_KERNEL_PANIC
endif
#Enable/disable secure firmware feature
ifeq ($(CONFIG_CNSS_SECURE_FW), y)
CDEFINES += -DFEATURE_SECURE_FIRMWARE
endif
#Enable/disable FW hash check for secure firmware feature
ifeq ($(CONFIG_CLD_DEBUG), y)
CDEFINES += -DFEATURE_FW_HASH_CHECK
endif
ifeq ($(CONFIG_ATH_PCIE_ACCESS_DEBUG), 1)
CDEFINES += -DCONFIG_ATH_PCIE_ACCESS_DEBUG
endif
#Flag to enable/disable WLAN D0-WOW
ifeq ($(CONFIG_PCI_MSM), y)
ifeq ($(CONFIG_ROME_IF),pci)
CDEFINES += -DFEATURE_WLAN_D0WOW
endif
endif
# Flag to enable bus auto suspend
ifeq ($(CONFIG_BUS_AUTO_SUSPEND), y)
CDEFINES += -DFEATURE_RUNTIME_PM
endif
# Some kernel include files are being moved. Check to see if
# the old version of the files are present
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/mach-msm/include/mach/msm_smd.h),)
CDEFINES += -DEXISTS_MSM_SMD
endif
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/mach-msm/include/mach/msm_smsm.h),)
CDEFINES += -DEXISTS_MSM_SMSM
endif
# Enable feature support fo Linux version QCMBR
ifeq ($(CONFIG_LINUX_QCMBR),y)
CDEFINES += -DLINUX_QCMBR
endif
# Enable feature Software AP Authentication Offload
ifeq ($(SAP_AUTH_OFFLOAD),1)
CDEFINES += -DSAP_AUTH_OFFLOAD
endif
# Enable featue sync tsf between multi devices
ifeq ($(CONFIG_WLAN_SYNC_TSF),y)
CDEFINES += -DWLAN_FEATURE_TSF
endif
# Enable target dump for non-qualcomm platform
ifeq ($(CONFIG_NON_QC_PLATFORM), y)
CDEFINES += -DCONFIG_NON_QC_PLATFORM
ifeq ($(CONFIG_CLD_HL_SDIO_CORE), y)
CDEFINES += -DTARGET_DUMP_FOR_NON_QC_PLATFORM
endif
endif
ifeq ($(CONFIG_ARCH_MDM9640), y)
CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE
endif
ifeq ($(CONFIG_ARCH_MDM9607), y)
CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE
CDEFINES += -DMDM_SAP_11AC_NO_OVERRIDE
endif
ifdef CPTCFG_QCA_CLD_WLAN
CDEFINES += -DWITH_BACKPORTS
#Enable OBSS feature
CDEFINES += -DQCA_HT_2040_COEX
endif
ifdef CPTCFG_QCA_CLD_WLAN
CDEFINES += -DTARGET_DUMP_FOR_9X15_PLATFORM
endif
ifeq ($(CONFIG_STATICALLY_ADD_11P_CHANNELS),y)
CDEFINES += -DFEATURE_STATICALLY_ADD_11P_CHANNELS
endif
ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
CDEFINES += -DWLAN_FEATURE_MEMDUMP
endif
ifeq ($(CONFIG_WLAN_OFFLOAD_PACKETS),y)
CDEFINES += -DWLAN_FEATURE_OFFLOAD_PACKETS
endif
ifeq ($(CONFIG_WLAN_UDP_RESPONSE_OFFLOAD),y)
CDEFINES += -DWLAN_FEATURE_UDP_RESPONSE_OFFLOAD
endif
ifeq ($(CONFIG_WLAN_FEATURE_RX_WAKELOCK), y)
CDEFINES += -DWLAN_FEATURE_HOLD_RX_WAKELOCK
endif
ifeq ($(CONFIG_WLAN_WOW_PULSE), y)
CDEFINES += -DWLAN_FEATURE_WOW_PULSE
endif
KBUILD_CPPFLAGS += $(CDEFINES)
# Currently, for versions of gcc which support it, the kernel Makefile
# is disabling the maybe-uninitialized warning. Re-enable it for the
# WLAN driver. Note that we must use EXTRA_CFLAGS here so that it
# will override the kernel settings.
ifeq ($(call cc-option-yn, -Wmaybe-uninitialized),y)
EXTRA_CFLAGS += -Wmaybe-uninitialized
endif
# If the module name is not "wlan", then the define MULTI_IF_NAME to be the
# same a the module name. The host driver will then append MULTI_IF_NAME to
# any string that must be unique for all instances of the driver on the system.
# This allows multiple instances of the driver with different module names.
# If the module name is wlan, leave MULTI_IF_NAME undefined and the code will
# treat the driver as the primary driver.
ifneq ($(MODNAME), wlan)
CDEFINES += -DMULTI_IF_NAME=\"$(MODNAME)\"
endif
# WLAN_HDD_ADAPTER_MAGIC must be unique for all instances of the driver on the
# system. If it is not defined, then the host driver will use the first 4
# characters (including NULL) of MULTI_IF_NAME to construct
# WLAN_HDD_ADAPTER_MAGIC.
ifdef WLAN_HDD_ADAPTER_MAGIC
CDEFINES += -DWLAN_HDD_ADAPTER_MAGIC=$(WLAN_HDD_ADAPTER_MAGIC)
endif
# Module information used by KBuild framework
obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
$(MODNAME)-y := $(OBJS)