# SPDX-License-Identifier: MIT
amdkcl-y += main.o kcl_common.o

amdkcl-y += kcl_kernel_params.o
amdkcl-y += kcl_dma-resv.o

amdkcl-y += kcl_backlight.o kcl_ioctl.o \
	kcl_kthread.o kcl_io.o kcl_seq_file.o \
	kcl_suspend.o kcl_pci.o kcl_mm.o kcl_memory.o kcl_sched.o \
	kcl_fence.o kcl_reservation.o kcl_drm_cache.o \
	kcl_drm_fb.o kcl_drm_print.o \
	kcl_drm_crtc.o kcl_drm_connector.o kcl_drm_atomic_helper.o \
	kcl_device_cgroup.o kcl_mn.o kcl_drm_modes.o kcl_time.o \
	kcl_acpi_table.o kcl_page_alloc.o kcl_numa.o kcl_fs_read_write.o kcl_drm_aperture.o \
	kcl_drm_simple_kms_helper.o kcl_bitmap.o kcl_vmscan.o kcl_dma_fence_chain.o \
	kcl_mce_amd.o kcl_workqueue.o kcl_cpumask.o kcl_drm_dsc_helper.o kcl_mm_slab.o \
	kcl_irqdesc.o kcl_drm_suballoc.o kcl_drm_file.o kcl_drm_exec.o kcl_drm_dp_helper.o

amdkcl-$(CONFIG_DRM_AMD_DC_HDCP) += kcl_drm_hdcp.o
amdkcl-$(CONFIG_MMU_NOTIFIER) += kcl_mn.o
amdkcl-$(CONFIG_DEBUG_FS) += kcl_debugfs_inode.o kcl_debugfs_file.o
amdkcl-$(CONFIG_SYSFS) += kcl_sysfs_emit.o

CFLAGS_kcl_fence.o := -I$(src)

KCL_LINUXINCLUDE=$(subst -I ,-I,$(strip $(LINUXINCLUDE)))
LINUX_SRCTREE_INCLUDE := \
	$(filter-out -I%/uapi "-include %/kconfig.h",$(KCL_LINUXINCLUDE))
USER_INCLUDE := $(filter-out $(LINUX_SRCTREE_INCLUDE), $(KCL_LINUXINCLUDE))

LINUXINCLUDE := \
	-I$(src)/../../include \
	-I$(src)/../../include/kcl/header \
	-include $(src)/../../include/kcl/kcl_version.h \
	-include $(src)/../../include/rename_symbol.h \
	-include $(src)/../../amd/dkms/config/config.h \
	$(LINUX_SRCTREE_INCLUDE) \
	-I$(src)/../../include/uapi \
	$(USER_INCLUDE)

ccflags-y += \
	-include $(src)/../dkms/config/config.h \
	-include $(src)/kcl_common.h

KCL_LINUXINCLUDE=$(subst -I ,-I,$(strip $(LINUXINCLUDE)))
LINUX_SRCTREE_INCLUDE := \
	$(filter-out -I%/uapi "-include %/kconfig.h",$(KCL_LINUXINCLUDE))
USER_INCLUDE := $(filter-out $(LINUX_SRCTREE_INCLUDE), $(KCL_LINUXINCLUDE))

LINUXINCLUDE := \
	-I$(src)/../../include \
	-I$(src)/../../include/kcl/header \
	-include $(src)/../../include/kcl/kcl_version.h \
	-include $(src)/../../include/rename_symbol.h \
	-include $(src)/../../amd/dkms/config/config.h \
	$(LINUX_SRCTREE_INCLUDE) \
	-I$(src)/../../include/uapi \
	$(USER_INCLUDE)

ccflags-y += -DHAVE_CONFIG_H
ccflags-y += -std=gnu11


obj-m += amdkcl.o
