Files
android_kernel_samsung_sm86…/Kbuild
Chandrasekaran, Manishekar 0d814c7b3e qcacld-3.0: Move cds_get_bin.c to concurrency management files
cds_get_bin.h and cds_get_bin.c were derived from qcacld-2.0
vos_get_bin.h and vos_get_bin.c.  These files got their names
since at one time they housed the wrappers used to retrieve
binary files nv.bin, cfg.dat, and firmware.  But over time the
functionality to actually retrieve binary files (get_bin) has
been removed, and almost all that is left is concurrency
management functions.  So, moving the .[ch] functionality to
the right files.

CRs-Fixed: 932777
Change-Id: I4a26c304cc6b6224d0839c365e4006fd32270961
2015-11-23 13:09:04 -08:00

1331 líneas
32 KiB
Makefile

# 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_CNSS), y)
ifndef CONFIG_ROME_IF
#use pci as default interface
CONFIG_ROME_IF = pci
endif
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-3.0
endif
# Make WLAN as open-source driver by default
WLAN_OPEN_SOURCE := 1
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
#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
ifeq ($(CONFIG_MOBILE_ROUTER), y)
CONFIG_QCACLD_FEATURE_GREEN_AP := 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_QCACLD_FEATURE_NAN := y
endif
#Flag to enable Linux QCMBR feature as default feature
ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_LINUX_QCMBR :=y
endif
ifeq ($(CONFIG_CNSS_EOS),y)
CONFIG_FEATURE_BMI_2 :=y
endif
CONFIG_MPC_UT_FRAMEWORK := y
#Flag to enable offload packets feature
CONFIG_WLAN_OFFLOAD_PACKETS := y
#Flag to enable memdump feature
CONFIG_WLAN_FEATURE_MEMDUMP := y
#Flag to enable Fast Path feature
CONFIG_WLAN_FASTPATH := y
# Flag to enable NAPI
CONFIG_WLAN_NAPI := y
CONFIG_WLAN_NAPI_DEBUG := n
# Flag to enable FW based TX Flow control
CONFIG_WLAN_TX_FLOW_CONTROL_V2 := n
# Flag to enable LRO (Large Receive Offload)
ifeq ($(CONFIG_CNSS_EOS), y)
ifeq ($(CONFIG_INET_LRO), y)
CONFIG_WLAN_LRO := y
else
CONFIG_WLAN_LRO := n
endif
endif
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 := 1
#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
#Enable OL debug and wmi unified functions
CONFIG_ATH_PERF_PWR_OFFLOAD := 1
#Disable packet log
CONFIG_REMOVE_PKT_LOG := 0
#Enable 11AC TX
ifeq ($(CONFIG_ROME_IF),pci)
CONFIG_ATH_11AC_TXCOMPACT := 1
endif
ifeq ($(CONFIG_ROME_IF),usb)
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
#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 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 power management suspend/resume functionality to PCI
CONFIG_ATH_BUS_PM := 1
#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)
CONFIG_IPA_OFFLOAD := 1
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/disable secure firmware feature
CONFIG_FEATURE_SECURE_FIRMWARE := 0
#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
############ UAPI ############
UAPI_DIR := uapi
UAPI_INC := -I$(WLAN_ROOT)/$(UAPI_DIR)/linux
############ COMMON ############
COMMON_DIR := core/common
COMMON_INC := -I$(WLAN_ROOT)/$(COMMON_DIR)
############ 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_driver_ops.o \
$(HDD_SRC_DIR)/wlan_hdd_ftm.o \
$(HDD_SRC_DIR)/wlan_hdd_hostapd.o \
$(HDD_SRC_DIR)/wlan_hdd_ioctl.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_power.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_WLAN_LRO), y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_lro.o
endif
ifeq ($(CONFIG_WLAN_NAPI), y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_napi.o
endif
ifeq ($(CONFIG_IPA_OFFLOAD), 1)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_ipa.o
endif
ifeq ($(HAVE_CFG80211),1)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_cfg80211.o \
$(HDD_SRC_DIR)/wlan_hdd_ext_scan.o \
$(HDD_SRC_DIR)/wlan_hdd_stats.o \
$(HDD_SRC_DIR)/wlan_hdd_p2p.o
endif
ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_green_ap.o
endif
ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_nan.o
endif
ifeq ($(CONFIG_QCOM_TDLS),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_tdls.o
endif
ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_conc_ut.o
endif
ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
HDD_OBJS += $(HDD_SRC_DIR)/wlan_hdd_memdump.o
endif
########### HOST DIAG LOG ###########
HOST_DIAG_LOG_DIR := core/utils/host_diag_log
HOST_DIAG_LOG_INC_DIR := $(HOST_DIAG_LOG_DIR)/inc
HOST_DIAG_LOG_SRC_DIR := $(HOST_DIAG_LOG_DIR)/src
HOST_DIAG_LOG_INC := -I$(WLAN_ROOT)/$(HOST_DIAG_LOG_INC_DIR) \
-I$(WLAN_ROOT)/$(HOST_DIAG_LOG_SRC_DIR)
HOST_DIAG_LOG_OBJS += $(HOST_DIAG_LOG_SRC_DIR)/host_diag_log.o
############ EPPING ############
EPPING_DIR := core/utils/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/cfg_api.o \
$(MAC_SRC_DIR)/cfg/cfg_debug.o \
$(MAC_SRC_DIR)/cfg/cfg_param_name.o \
$(MAC_SRC_DIR)/cfg/cfg_proc_msg.o \
$(MAC_SRC_DIR)/cfg/cfg_send_msg.o
MAC_DPH_OBJS := $(MAC_SRC_DIR)/dph/dph_hash_table.o
MAC_LIM_OBJS := $(MAC_SRC_DIR)/pe/lim/lim_aid_mgmt.o \
$(MAC_SRC_DIR)/pe/lim/lim_admit_control.o \
$(MAC_SRC_DIR)/pe/lim/lim_api.o \
$(MAC_SRC_DIR)/pe/lim/lim_assoc_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_debug.o \
$(MAC_SRC_DIR)/pe/lim/lim_ft.o \
$(MAC_SRC_DIR)/pe/lim/lim_ibss_peer_mgmt.o \
$(MAC_SRC_DIR)/pe/lim/lim_link_monitoring_algo.o \
$(MAC_SRC_DIR)/pe/lim/lim_p2p.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_action_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_assoc_req_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_assoc_rsp_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_auth_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_beacon_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_cfg_updates.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_deauth_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_disassoc_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_message_queue.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_mlm_req_messages.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_mlm_rsp_messages.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_probe_req_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_probe_rsp_frame.o \
$(MAC_SRC_DIR)/pe/lim/lim_process_sme_req_messages.o \
$(MAC_SRC_DIR)/pe/lim/lim_prop_exts_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_scan_result_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_security_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_send_management_frames.o \
$(MAC_SRC_DIR)/pe/lim/lim_send_messages.o \
$(MAC_SRC_DIR)/pe/lim/lim_send_sme_rsp_messages.o \
$(MAC_SRC_DIR)/pe/lim/lim_ser_des_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_session.o \
$(MAC_SRC_DIR)/pe/lim/lim_session_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_sme_req_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_sta_hash_api.o \
$(MAC_SRC_DIR)/pe/lim/lim_timer_utils.o \
$(MAC_SRC_DIR)/pe/lim/lim_trace.o \
$(MAC_SRC_DIR)/pe/lim/lim_utils.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/lim_process_tdls.o
endif
MAC_SCH_OBJS := $(MAC_SRC_DIR)/pe/sch/sch_api.o \
$(MAC_SRC_DIR)/pe/sch/sch_beacon_gen.o \
$(MAC_SRC_DIR)/pe/sch/sch_beacon_process.o \
$(MAC_SRC_DIR)/pe/sch/sch_debug.o \
$(MAC_SRC_DIR)/pe/sch/sch_message.o
MAC_RRM_OBJS := $(MAC_SRC_DIR)/pe/rrm/rrm_api.o
MAC_OBJS := $(MAC_CFG_OBJS) \
$(MAC_DPH_OBJS) \
$(MAC_LIM_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)/sap_api_link_cntl.o \
$(SAP_SRC_DIR)/sap_ch_select.o \
$(SAP_SRC_DIR)/sap_fsm.o \
$(SAP_SRC_DIR)/sap_module.o
############ DFS ############ 350
DFS_DIR := $(SAP_DIR)/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_CSR_OBJS := $(SME_SRC_DIR)/csr/csr_api_roam.o \
$(SME_SRC_DIR)/csr/csr_api_scan.o \
$(SME_SRC_DIR)/csr/csr_cmd_process.o \
$(SME_SRC_DIR)/csr/csr_link_list.o \
$(SME_SRC_DIR)/csr/csr_neighbor_roam.o \
$(SME_SRC_DIR)/csr/csr_util.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/csr_tdls_process.o
endif
SME_QOS_OBJS := $(SME_SRC_DIR)/qos/sme_qos.o
SME_CMN_OBJS := $(SME_SRC_DIR)/common/sme_api.o \
$(SME_SRC_DIR)/common/sme_ft_api.o \
$(SME_SRC_DIR)/common/sme_power_save.o \
$(SME_SRC_DIR)/common/sme_trace.o
SME_OEM_DATA_OBJS := $(SME_SRC_DIR)/oem_data/oem_data_api.o
SME_P2P_OBJS = $(SME_SRC_DIR)/p2p/p2p_api.o
SME_RRM_OBJS := $(SME_SRC_DIR)/rrm/sme_rrm.o
ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
SME_NAN_OBJS = $(SME_SRC_DIR)/nan/nan_api.o
endif
SME_OBJS := $(SME_CMN_OBJS) \
$(SME_CSR_OBJS) \
$(SME_OEM_DATA_OBJS) \
$(SME_P2P_OBJS) \
$(SME_QOS_OBJS) \
$(SME_RRM_OBJS) \
$(SME_NAN_OBJS)
############ NLINK ############
NLINK_DIR := core/utils/nlink
NLINK_INC_DIR := $(NLINK_DIR)/inc
NLINK_SRC_DIR := $(NLINK_DIR)/src
NLINK_INC := -I$(WLAN_ROOT)/$(NLINK_INC_DIR)
NLINK_OBJS := $(NLINK_SRC_DIR)/wlan_nlink_srv.o
############ PTT ############
PTT_DIR := core/utils/ptt
PTT_INC_DIR := $(PTT_DIR)/inc
PTT_SRC_DIR := $(PTT_DIR)/src
PTT_INC := -I$(WLAN_ROOT)/$(PTT_INC_DIR)
PTT_OBJS := $(PTT_SRC_DIR)/wlan_ptt_sock_svc.o
############ WLAN_LOGGING ############
WLAN_LOGGING_DIR := core/utils/logging
WLAN_LOGGING_INC_DIR := $(WLAN_LOGGING_DIR)/inc
WLAN_LOGGING_SRC_DIR := $(WLAN_LOGGING_DIR)/src
WLAN_LOGGING_INC := -I$(WLAN_ROOT)/$(WLAN_LOGGING_INC_DIR)
WLAN_LOGGING_OBJS := $(WLAN_LOGGING_SRC_DIR)/wlan_logging_sock_svc.o
############ SYS ############
SYS_DIR := core/mac/src/sys
SYS_INC := -I$(WLAN_ROOT)/$(SYS_DIR)/common/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)/platform/src/sys_wrapper.o \
$(SYS_LEGACY_SRC_DIR)/system/src/mac_init_api.o \
$(SYS_LEGACY_SRC_DIR)/system/src/sys_entry_func.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/dot11f.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/log_api.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/mac_trace.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/parser_api.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/utils_api.o \
$(SYS_LEGACY_SRC_DIR)/utils/src/utils_parser.o
############ CDF (Connectivity driver framework) ############
CDF_DIR := core/cdf
CDF_INC_DIR := $(CDF_DIR)/inc
CDF_SRC_DIR := $(CDF_DIR)/src
CDF_INC := -I$(WLAN_ROOT)/$(CDF_INC_DIR) \
-I$(WLAN_ROOT)/$(CDF_SRC_DIR)
CDF_OBJS := $(CDF_SRC_DIR)/cdf_event.o \
$(CDF_SRC_DIR)/cdf_list.o \
$(CDF_SRC_DIR)/cdf_lock.o \
$(CDF_SRC_DIR)/cdf_memory.o \
$(CDF_SRC_DIR)/cdf_threads.o \
$(CDF_SRC_DIR)/cdf_mc_timer.o \
$(CDF_SRC_DIR)/cdf_trace.o \
$(CDF_SRC_DIR)/cdf_nbuf.o \
$(CDF_SRC_DIR)/cdf_defer.o
############ CDS (Connectivity driver services) ############
CDS_DIR := core/cds
CDS_INC_DIR := $(CDS_DIR)/inc
CDS_SRC_DIR := $(CDS_DIR)/src
CDS_INC := -I$(WLAN_ROOT)/$(CDS_INC_DIR) \
-I$(WLAN_ROOT)/$(CDS_SRC_DIR)
CDS_OBJS := $(CDS_SRC_DIR)/cds_api.o \
$(CDS_SRC_DIR)/cds_reg_service.o \
$(CDS_SRC_DIR)/cds_mq.o \
$(CDS_SRC_DIR)/cds_packet.o \
$(CDS_SRC_DIR)/cds_regdomain.o \
$(CDS_SRC_DIR)/cds_sched.o \
$(CDS_SRC_DIR)/cds_concurrency.o \
$(CDS_SRC_DIR)/cds_utils.o
########### BMI ###########
BMI_DIR := core/bmi
BMI_INC := -I$(WLAN_ROOT)/$(BMI_DIR)/inc
ifneq ($(CONFIG_ICNSS), y)
BMI_OBJS := $(BMI_DIR)/src/bmi.o \
$(BMI_DIR)/src/ol_fw.o
ifeq ($(CONFIG_FEATURE_BMI_2), y)
BMI_OBJS += $(BMI_DIR)/src/bmi_2.o
else
BMI_OBJS += $(BMI_DIR)/src/bmi_1.o
endif
endif
########### WMI ###########
WMI_DIR := core/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
############ TXRX ############
TXRX_DIR := core/dp/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.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
ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
TXRX_OBJS += $(TXRX_DIR)/ol_txrx_flow_control.o
endif
############ OL ############
OL_DIR := core/dp/ol
OL_INC := -I$(WLAN_ROOT)/$(OL_DIR)/inc
############ 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/dp/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/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
########### HIF ###########
HIF_DIR := core/hif
HIF_CE_DIR := $(HIF_DIR)/src/ce
HIF_CNSS_STUB_DIR := $(HIF_DIR)/src/icnss_stub
ifeq ($(CONFIG_HIF_PCI), 1)
HIF_PCIE_DIR := $(HIF_DIR)/src/pcie
else
HIF_SNOC_DIR := $(HIF_DIR)/src/snoc
endif
HIF_INC := -I$(WLAN_ROOT)/$(HIF_DIR)/inc \
-I$(WLAN_ROOT)/$(HIF_DIR)/src \
-I$(WLAN_ROOT)/$(HIF_CE_DIR) \
-I$(WLAN_ROOT)/$(HIF_CNSS_STUB_DIR)
ifeq ($(CONFIG_HIF_PCI), 1)
HIF_INC += -I$(WLAN_ROOT)/$(HIF_PCIE_DIR)
else
HIF_INC += -I$(WLAN_ROOT)/$(HIF_SNOC_DIR)
endif
HIF_OBJS := $(HIF_DIR)/src/ath_procfs.o \
$(HIF_CE_DIR)/ce_diag.o \
$(HIF_CE_DIR)/ce_main.o \
$(HIF_CE_DIR)/ce_service.o \
$(HIF_CE_DIR)/ce_tasklet.o \
$(HIF_DIR)/src/hif_main.o \
$(HIF_DIR)/src/mp_dev.o \
$(HIF_DIR)/src/regtable.o
ifeq ($(CONFIG_CNSS), y)
HIF_OBJS += $(HIF_CNSS_STUB_DIR)/icnss_stub.o \
$(HIF_CE_DIR)/ce_bmi.o
endif
ifeq ($(CONFIG_WLAN_NAPI), y)
HIF_OBJS += $(HIF_DIR)/src/hif_napi.o
endif
ifeq ($(CONFIG_HIF_PCI), 1)
HIF_PCIE_OBJS := $(HIF_PCIE_DIR)/if_pci.o
HIF_OBJS += $(HIF_PCIE_OBJS)
else
HIF_SNOC_OBJS := $(HIF_SNOC_DIR)/if_snoc.o
HIF_OBJS += $(HIF_SNOC_OBJS)
endif
############ WMA ############
WMA_DIR := core/wma
WMA_INC_DIR := $(WMA_DIR)/inc
WMA_SRC_DIR := $(WMA_DIR)/src
WMA_INC := -I$(WLAN_ROOT)/$(WMA_INC_DIR) \
-I$(WLAN_ROOT)/$(WMA_SRC_DIR)
WMA_OBJS := $(WMA_SRC_DIR)/wma_main.o \
$(WMA_SRC_DIR)/wma_scan_roam.o \
$(WMA_SRC_DIR)/wma_dev_if.o \
$(WMA_SRC_DIR)/wma_mgmt.o \
$(WMA_SRC_DIR)/wma_power.o \
$(WMA_SRC_DIR)/wma_data.o \
$(WMA_SRC_DIR)/wma_utils.o \
$(WMA_SRC_DIR)/wma_features.o \
$(WMA_SRC_DIR)/wma_dfs_interface.o \
$(WMA_SRC_DIR)/wma_ocb.o \
$(WMA_SRC_DIR)/wlan_qct_wma_legacy.o
ifeq ($(CONFIG_MPC_UT_FRAMEWORK),y)
WMA_OBJS += $(WMA_SRC_DIR)/wma_utils_ut.o
endif
TARGET_INC := -I$(WLAN_ROOT)/target/inc
LINUX_INC := -Iinclude/linux
INCS := $(HDD_INC) \
$(EPPING_INC) \
$(LINUX_INC) \
$(MAC_INC) \
$(SAP_INC) \
$(SME_INC) \
$(SYS_INC) \
$(CDF_INC) \
$(CDS_INC) \
$(DFS_INC)
INCS += $(WMA_INC) \
$(UAPI_INC) \
$(COMMON_INC) \
$(WMI_INC) \
$(FWLOG_INC) \
$(TXRX_INC) \
$(OL_INC) \
$(PKTLOG_INC) \
$(HTT_INC) \
$(HTC_INC) \
$(DFS_INC)
INCS += $(HIF_INC) \
$(BMI_INC)
INCS += $(TARGET_INC)
INCS += $(NLINK_INC) \
$(PTT_INC) \
$(WLAN_LOGGING_INC)
ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
INCS += $(PKTLOG_INC)
endif
ifeq ($(BUILD_DIAG_VERSION), 1)
INCS += $(HOST_DIAG_LOG_INC)
endif
OBJS := $(HDD_OBJS) \
$(EPPING_OBJS) \
$(MAC_OBJS) \
$(SAP_OBJS) \
$(SME_OBJS) \
$(SYS_OBJS) \
$(CDF_OBJS) \
$(CDS_OBJS) \
$(DFS_OBJS)
OBJS += $(WMA_OBJS) \
$(TXRX_OBJS) \
$(WMI_OBJS) \
$(FWLOG_OBJS) \
$(HTC_OBJS) \
$(DFS_OBJS)
OBJS += $(HIF_OBJS) \
$(BMI_OBJS) \
$(HTT_OBJS)
OBJS += $(WLAN_LOGGING_OBJS)
OBJS += $(NLINK_OBJS)
OBJS += $(PTT_OBJS)
ifeq ($(CONFIG_REMOVE_PKT_LOG), 0)
OBJS += $(PKTLOG_OBJS)
endif
ifeq ($(BUILD_DIAG_VERSION), 1)
OBJS += $(HOST_DIAG_LOG_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 \
-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_SOFTAP_VSTA_FEATURE \
-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 \
-DWLAN_FEATURE_MBSSID \
-DCONFIG_160MHZ_SUPPORT
ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
CDEFINES += -DQCA_WIFI_3_0
CDEFINES += -DQCA_WIFI_3_0_EMU
endif
ifeq (y,$(filter y,$(CONFIG_CNSS_ADRASTEA) $(CONFIG_ICNSS)))
CDEFINES += -DQCA_WIFI_3_0_ADRASTEA
CDEFINES += -DADRASTEA_SHADOW_REGISTERS
endif
ifeq ($(CONFIG_WLAN_FASTPATH), y)
CDEFINES += -DWLAN_FEATURE_FASTPATH
endif
ifeq ($(CONFIG_WLAN_NAPI), y)
CDEFINES += -DFEATURE_NAPI
ifeq ($(CONFIG_WLAN_NAPI_DEBUG), y)
CDEFINES += -DFEATURE_NAPI_DEBUG
endif
endif
ifeq ($(CONFIG_FEATURE_BMI_2), y)
CDEFINES += -DFEATURE_BMI_2
endif
ifeq ($(CONFIG_ARCH_MSM), y)
CDEFINES += -DMSM_PLATFORM
endif
CDEFINES += -DQCA_SUPPORT_TXRX_LOCAL_PEER_ID
ifeq ($(CONFIG_WLAN_TX_FLOW_CONTROL_V2), y)
CDEFINES += -DQCA_LL_TX_FLOW_CONTROL_V2
CDEFINES += -DQCA_LL_TX_FLOW_GLOBAL_MGMT_POOL
else
ifeq ($(CONFIG_ROME_IF),pci)
CDEFINES += -DQCA_LL_LEGACY_TX_FLOW_CONTROL
endif
endif
ifeq ($(CONFIG_DEBUG_LL),y)
CDEFINES += -DQCA_PKT_PROTO_TRACE
endif
ifneq ($(CONFIG_QCA_CLD_WLAN),)
CDEFINES += -DWCN_PRONTO
CDEFINES += -DWCN_PRONTO_V1
endif
ifeq ($(BUILD_DEBUG_VERSION),1)
CDEFINES += -DWLAN_DEBUG \
-DTRACE_RECORD \
-DLIM_TRACE_RECORD \
-DSME_TRACE_RECORD \
-DHDD_TRACE_RECORD \
-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
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
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 ($(WLAN_OPEN_SOURCE), 1)
CDEFINES += -DWLAN_OPEN_SOURCE
endif
ifeq ($(CONFIG_FEATURE_STATS_EXT), 1)
CDEFINES += -DWLAN_FEATURE_STATS_EXT
endif
ifeq ($(CONFIG_QCACLD_FEATURE_NAN),y)
CDEFINES += -DWLAN_FEATURE_NAN
endif
ifeq ($(CONFIG_QCA_IBSS_SUPPORT), 1)
CDEFINES += -DQCA_IBSS_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 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 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
endif
ifneq ($(CONFIG_ARCH_MDM9630), y)
ifeq ($(CONFIG_ARCH_MDM9640), y)
CDEFINES += -DQCA_CONFIG_SMP
endif
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
ifeq ($(CONFIG_WLAN_FEATURE_RX_WAKELOCK), y)
CDEFINES += -DWLAN_FEATURE_HOLD_RX_WAKELOCK
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 wlan auto shutdown feature
CDEFINES += -DFEATURE_WLAN_AUTO_SHUTDOWN
#enable for MBSSID
CDEFINES += -DWLAN_FEATURE_MBSSID
#enable AP-AP ACS Optimization
CDEFINES += -DFEATURE_WLAN_AP_AP_ACS_OPTIMIZE
#Enable 4address scheme
CDEFINES += -DFEATURE_WLAN_STA_4ADDR_SCHEME
#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
#Green AP feature
ifeq ($(CONFIG_QCACLD_FEATURE_GREEN_AP),y)
CDEFINES += -DFEATURE_GREEN_AP
endif
#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_FEATURE_SECURE_FIRMWARE), 1)
CDEFINES += -DFEATURE_SECURE_FIRMWARE
endif
ifeq ($(CONFIG_ATH_PCIE_ACCESS_DEBUG), 1)
CDEFINES += -DCONFIG_ATH_PCIE_ACCESS_DEBUG
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
# NOTE: CONFIG_64BIT_PADDR requires CONFIG_HELIUMPLUS
ifeq (y,$(filter y,$(CONFIG_CNSS_EOS) $(CONFIG_ICNSS)))
CONFIG_HELIUMPLUS := y
CONFIG_64BIT_PADDR := y
CONFIG_FEATURE_TSO := y
CONFIG_FEATURE_TSO_DEBUG := y
ifeq ($(CONFIG_HELIUMPLUS),y)
CDEFINES += -DHELIUMPLUS_PADDR64
CDEFINES += -DHELIUMPLUS
ifeq ($(CONFIG_64BIT_PADDR),y)
CDEFINES += -DHTT_PADDR64
endif
endif
endif
ifeq ($(CONFIG_FEATURE_TSO),y)
CDEFINES += -DFEATURE_TSO
endif
ifeq ($(CONFIG_FEATURE_TSO_DEBUG),y)
CDEFINES += -DFEATURE_TSO_DEBUG
endif
ifeq ($(CONFIG_WLAN_LRO), y)
CDEFINES += -DFEATURE_LRO
endif
ifeq ($(CONFIG_MOBILE_ROUTER), y)
CDEFINES += -DFEATURE_AP_MCC_CH_AVOIDANCE
endif
ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
CDEFINES += -DMPC_UT_FRAMEWORK
endif
ifeq ($(CONFIG_WLAN_OFFLOAD_PACKETS),y)
CDEFINES += -DWLAN_FEATURE_OFFLOAD_PACKETS
endif
ifeq ($(CONFIG_WLAN_FEATURE_MEMDUMP),y)
CDEFINES += -DWLAN_FEATURE_MEMDUMP
endif
ifeq ($(CONFIG_STATICALLY_ADD_11P_CHANNELS),y)
CDEFINES += -DFEATURE_STATICALLY_ADD_11P_CHANNELS
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
# Module information used by KBuild framework
obj-$(CONFIG_QCA_CLD_WLAN) += $(MODNAME).o
$(MODNAME)-y := $(OBJS)