# Display
XDX_PLATEFORM_DRV := \
	pvr_device.o \
	pvr_heaps.o \
	pvr_drv.o \
	event.o \
	fwload.o \
	km_apphint.o \
	osmmap_stub.o \
	osfunc.o \
	allocmem.o \
	osconnection_server.o \
	physmem_osmem_linux.o \
	pmr_os.o \
	pvr_bridge_k.o \
	pvr_debug.o \
	physmem_dmabuf.o \
	pvr_gem.o

ifeq ($(NO_HARDWARE),1)
	XDX_PLATEFORM_DRV += pvr_sysconfig_nohw.o
else
	XDX_PLATEFORM_DRV += pvr_sysconfig.o
endif

ifeq ($(SUPPORT_PHYSMEM_TEST),1)
	XDX_PLATEFORM_DRV += physmem_test.o
endif # SUPPORT_PHYSMEM_TEST

ifeq ($(SUPPORT_RGX),1)
	XDX_PLATEFORM_DRV += pvr_gputrace.o
endif # SUPPORT_RGX

ifeq ($(SUPPORT_SECURE_EXPORT),1)
	XDX_PLATEFORM_DRV += ossecure_export.o
	subdir-ccflags-y += -DSUPPORT_SECURE_EXPORT
endif # SUPPORT_SECURE_EXPORT

ifeq ($(PVR_HANDLE_BACKEND),idr)
	XDX_PLATEFORM_DRV += handle_idr.o
endif # PVR_HANDLE_BACKEND

ifeq ($(PVRSRV_ENABLE_LINUX_MMAP_STATS),1)
	XDX_PLATEFORM_DRV += mmap_stats.o
endif # PVRSRV_ENABLE_LINUX_MMAP_STATS

ifeq ($(SUPPORT_BUFFER_SYNC),1)
	subdir-ccflags-y += -DSUPPORT_BUFFER_SYNC

	XDX_PLATEFORM_DRV += \
		pvr_buffer_sync.o \
		pvr_fence.o
endif # SUPPORT_BUFFER_SYNC

ifeq ($(SUPPORT_NATIVE_FENCE_SYNC),1)
	XDX_PLATEFORM_DRV += pvr_sync_ioctl_common.o
	ifeq ($(USE_PVRSYNC_DEVNODE),1)
		XDX_PLATEFORM_DRV += pvr_sync_ioctl_dev.o
	else
		XDX_PLATEFORM_DRV += pvr_sync_ioctl_drm.o
	endif # USE_PVRSYNC_DEVNODE

	ifeq ($(SUPPORT_DMA_FENCE),1)
		XDX_PLATEFORM_DRV += \
			pvr_sync_file.o \
			pvr_counting_timeline.o \
			pvr_sw_fence.o \
			pvr_fence.o
	else
		XDX_PLATEFORM_DRV += pvr_sync2.o
	endif # SUPPORT_DMA_FENCE
else # SUPPORT_NATIVE_FENCE_SYNC
	ifeq ($(SUPPORT_FALLBACK_FENCE_SYNC),1)
		XDX_PLATEFORM_DRV += ossecure_export.o
	endif
endif # SUPPORT_NATIVE_FENCE_SYNC

ifeq ($(SUPPORT_LINUX_DVFS),1)
XDX_PLATEFORM_DRV += pvr_dvfs_device.o
endif # SUPPORT_LINUX_DVFS

ifeq ($(CONFIG_X86),y)
	XDX_PLATEFORM_DRV += osfunc_x86.o
else ifeq ($(CONFIG_ARM),y)
	XDX_PLATEFORM_DRV += osfunc_arm.o
else ifeq ($(CONFIG_ARM64),y)
	XDX_PLATEFORM_DRV += osfunc_arm64.o
else ifeq ($(CONFIG_RISCV),y)
	XDX_PLATEFORM_DRV += osfunc_riscv.o
else ifeq ($(CONFIG_LOONGARCH),y)
	XDX_PLATEFORM_DRV += osfunc_loongarch.o
endif # CONFIG_X86

ifeq ($(CONFIG_DEBUG_FS),y)
	XDX_PLATEFORM_DRV += pvr_debugfs.o
else ifeq ($(CONFIG_PROC_FS),y)
	XDX_PLATEFORM_DRV += pvr_procfs.o
endif # CONFIG_DEBUG_FS

ifeq ($(CONFIG_EVENT_TRACING),y)
	XDX_PLATEFORM_DRV += trace_events.o
endif # CONFIG_EVENT_TRACING

XDX_PLATEFORM_DRV += \
	dma_support.o \
	interrupt_support.o

ifeq ($(CONFIG_PCI), y)
XDX_PLATEFORM_DRV += pci_support.o
endif # CONFIG_PCI
ifeq ($(XDXGPU_SMMU_SUPPORT),1)
	XDX_PLATEFORM_DRV += smmu_platform.o
endif

XDX_BR_FILES = $(addprefix platform/,$(XDX_PLATEFORM_DRV))
