# common
obj-$(CPTCFG_IWLWIFI)	+= iwlwifi.o
iwlwifi-objs		+= iwl-io.o
iwlwifi-objs		+= iwl-drv.o
iwlwifi-objs		+= iwl-debug.o
iwlwifi-objs		+= iwl-notif-wait.o
iwlwifi-objs		+= iwl-eeprom-read.o iwl-eeprom-parse.o
iwlwifi-objs		+= iwl-phy-db.o iwl-nvm-parse.o

# Bus
iwlwifi-$(CPTCFG_IWLWIFI_PCIE)	+= pcie/drv.o pcie/rx.o pcie/tx.o pcie/trans.o
iwlwifi-$(CPTCFG_IWLWIFI_PCIE)	+= iwl-1000.o iwl-2000.o iwl-5000.o iwl-6000.o iwl-7000.o
iwlwifi-$(CPTCFG_IWLWIFI_SDIO)	+= iwl-7000.o trans_slave/shared.o
iwlwifi-$(CPTCFG_IWLWIFI_SDIO)	+= trans_slave/sdio_drv.o trans_slave/sdio_trans.o trans_slave/sdio_rx.o trans_slave/sdio_tx_policy.o trans_slave/sdio_tx.o
iwlwifi-$(CPTCFG_IWLWIFI_IDI)	+= iwl-7999.o trans_slave/shared.o
iwlwifi-$(CPTCFG_IWLWIFI_IDI)	+= trans_slave/idi_trans.o trans_slave/idi_rx.o trans_slave/idi_tx.o trans_slave/idi_tx_policy.o trans_slave/idi_utils.o

# Compile IDI w/o emulation
ifneq ($(CPTCFG_IWLWIFI_IDI_OVER_PCI),y)
	iwlwifi-$(CPTCFG_IWLWIFI_IDI)	+= trans_slave/idi_hals.o
endif # not CPTCFG_IWLWIFI_IDI_OVER_PCI

# Compiling the IDI and AL_EMULATION
ifeq ($(CPTCFG_IWLWIFI_PCIE),y)
ifeq ($(CPTCFG_IWLWIFI_IDI_OVER_PCI),y)
	# AL Emulation compilation
	AL_EMULATION_SRC=$(M)/drivers/net/wireless/iwlwifi/trans_slave/idi_al_emulation

	# Include Emulation headers
	ccflags-y	+= -I$(AL_EMULATION_SRC)/

	# Include the AL emulation Makefile and flags
	include                 $(AL_EMULATION_SRC)/Makefile
endif #CPTCFG_IWLWIFI_IDI_OVER_PCI
endif #CPTCFG_IWLWIFI_PCIE

iwlwifi-$(CPTCFG_IWLWIFI_DEVICE_TRACING) += iwl-devtrace.o
iwlwifi-$(CPTCFG_IWLWIFI_SW_WAPI_SMS4) += wapi-sms4/sms4-core.o wapi-sms4/iwl-wapi-sms4.o
iwlwifi-$(CPTCFG_IWLWIFI_DEVICE_TESTMODE) += iwl-test.o iwl-tm-gnl.o
iwlwifi-$(CPTCFG_IWLWIFI_DBGM) += iwl-dbgm.o

ccflags-y += -D__CHECK_ENDIAN__ -I$(src)

obj-$(CPTCFG_IWLDVM)	+= dvm/
obj-$(CPTCFG_IWLMVM)	+= mvm/
obj-$(CPTCFG_IWLXVT)	+= xvt/

CFLAGS_iwl-devtrace.o := -I$(src)
