include $(KERNEL_MIXED_BUILD_PATH)/Kbuild.common

ccflags-y += -I$(srctree)/mm
ccflags-y += -I$(srctree)/drivers/dma-buf/heaps
# XXX: Remove this after Google issue b/243501482 done
ifeq ($(KERNEL_VER),mainline)
ccflags-y += -I$(KERNEL_MIXED_BUILD_PATH)/drivers/dma-buf/heaps
endif
ccflags-y += -I$(KERNEL_MIXED_BUILD_PATH)/drivers/iommu/mtk_iommu_dtv
ifneq ($(filter 5.15%,$(subst linux-,,$(KERNEL_VER))),)
ccflags-y += -I$(KERNEL_MIXED_BUILD_PATH)/drivers/soc/mediatek/mtk-tee/tee_5.15
else
ccflags-y += -I$(KERNEL_MIXED_BUILD_PATH)/drivers/soc/mediatek/mtk-tee/tee_6.6
endif
ccflags-y += -Wall -Werror

mtk_iommu-objs := mtk_iommu_dtv.o \
    mtk_iommu_trace.o \
    mtk_iommu_helper.o \
    mtk_iommu_tee_interface.o \
    mtk_iommu_of.o \
    mtk_iommu_sysfs.o \
    mtk_iommu_defer_free.o \
    mtk_iommu_pool_collector.o \
    mtk_iommu_notifier.o

# XXX: Remove CONFIG_MTK_DMABUF_HEAPS_SYSTEM after Google issue b/243501482 done
ifneq ($(CONFIG_DMABUF_HEAPS_SYSTEM)$(CONFIG_MTK_DMABUF_HEAPS_SYSTEM),)
mtk_iommu-objs += mtk_iommu_dmaheap.o \
    dma-heaps/mtk_iommu_heap.o \
    dma-heaps/mtk_iommu_carveout_dmaheap.o \
    dma-heaps/mtk_iommu_sys_dmaheap.o \
    dma-heaps/mtk_iommu_agile_dmaheap.o \
    dma-heaps/mtk_iommu_cma_dmaheap.o \
    dma-heaps/mtk_iommu_dmaheap_ops.o \
    dma-heaps/mtk_iommu_page_pool.o
endif

ifdef CONFIG_ION
ccflags-y += -I$(KERNEL_MIXED_BUILD_PATH)/drivers/iommu/ion
mtk_iommu-objs += mtk_iommu_ion.o \
    ion-heaps/mtk_iommu_sys_heap.o \
    ion-heaps/mtk_iommu_cma_heap.o \
    ion-heaps/mtk_iommu_ion_heap.o
ifndef CONFIG_DMABUF_HEAPS_SYSTEM
mtk_iommu-objs += ion-heaps/mtk_iommu_carveout_heap.o
endif
endif

mtk_iommu-objs += mtk_iommu_seal.o
mtk_iommu-objs += mtk_iommu_test.o

obj-$(CONFIG_MTK_IOMMU_DTV) += mtk_iommu.o
