| # SPDX-License-Identifier: GPL-2.0 | 
 |  | 
 | # Makefile for the drm device driver.  This driver provides support for the | 
 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. | 
 |  | 
 | CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)	+= -DDYNAMIC_DEBUG_MODULE | 
 |  | 
 | # Unconditionally enable W=1 warnings locally | 
 | # --- begin copy-paste W=1 warnings from scripts/Makefile.extrawarn | 
 | subdir-ccflags-y += -Wextra -Wunused -Wno-unused-parameter | 
 | subdir-ccflags-y += $(call cc-option, -Wrestrict) | 
 | subdir-ccflags-y += -Wmissing-format-attribute | 
 | subdir-ccflags-y += -Wold-style-definition | 
 | subdir-ccflags-y += -Wmissing-include-dirs | 
 | subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable) | 
 | subdir-ccflags-y += $(call cc-option, -Wunused-const-variable) | 
 | subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned) | 
 | subdir-ccflags-y += $(call cc-option, -Wformat-overflow) | 
 | # FIXME: fix -Wformat-truncation warnings and uncomment | 
 | #subdir-ccflags-y += $(call cc-option, -Wformat-truncation) | 
 | subdir-ccflags-y += $(call cc-option, -Wstringop-truncation) | 
 | # The following turn off the warnings enabled by -Wextra | 
 | ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),) | 
 | subdir-ccflags-y += -Wno-missing-field-initializers | 
 | subdir-ccflags-y += -Wno-type-limits | 
 | subdir-ccflags-y += -Wno-shift-negative-value | 
 | endif | 
 | ifeq ($(findstring 3, $(KBUILD_EXTRA_WARN)),) | 
 | subdir-ccflags-y += -Wno-sign-compare | 
 | endif | 
 | # --- end copy-paste | 
 |  | 
 | # Enable -Werror in CI and development | 
 | subdir-ccflags-$(CONFIG_DRM_WERROR) += -Werror | 
 |  | 
 | drm-y := \ | 
 | 	drm_aperture.o \ | 
 | 	drm_atomic.o \ | 
 | 	drm_atomic_uapi.o \ | 
 | 	drm_auth.o \ | 
 | 	drm_blend.o \ | 
 | 	drm_bridge.o \ | 
 | 	drm_cache.o \ | 
 | 	drm_client.o \ | 
 | 	drm_client_modeset.o \ | 
 | 	drm_color_mgmt.o \ | 
 | 	drm_connector.o \ | 
 | 	drm_crtc.o \ | 
 | 	drm_displayid.o \ | 
 | 	drm_drv.o \ | 
 | 	drm_dumb_buffers.o \ | 
 | 	drm_edid.o \ | 
 | 	drm_eld.o \ | 
 | 	drm_encoder.o \ | 
 | 	drm_file.o \ | 
 | 	drm_fourcc.o \ | 
 | 	drm_framebuffer.o \ | 
 | 	drm_gem.o \ | 
 | 	drm_ioctl.o \ | 
 | 	drm_lease.o \ | 
 | 	drm_managed.o \ | 
 | 	drm_mm.o \ | 
 | 	drm_mode_config.o \ | 
 | 	drm_mode_object.o \ | 
 | 	drm_modes.o \ | 
 | 	drm_modeset_lock.o \ | 
 | 	drm_plane.o \ | 
 | 	drm_prime.o \ | 
 | 	drm_print.o \ | 
 | 	drm_property.o \ | 
 | 	drm_syncobj.o \ | 
 | 	drm_sysfs.o \ | 
 | 	drm_trace_points.o \ | 
 | 	drm_vblank.o \ | 
 | 	drm_vblank_work.o \ | 
 | 	drm_vma_manager.o \ | 
 | 	drm_writeback.o | 
 | drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o | 
 | drm-$(CONFIG_COMPAT) += drm_ioc32.o | 
 | drm-$(CONFIG_DRM_PANEL) += drm_panel.o | 
 | drm-$(CONFIG_OF) += drm_of.o | 
 | drm-$(CONFIG_PCI) += drm_pci.o | 
 | drm-$(CONFIG_DEBUG_FS) += \ | 
 | 	drm_debugfs.o \ | 
 | 	drm_debugfs_crc.o | 
 | drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o | 
 | drm-$(CONFIG_DRM_PRIVACY_SCREEN) += \ | 
 | 	drm_privacy_screen.o \ | 
 | 	drm_privacy_screen_x86.o | 
 | drm-$(CONFIG_DRM_ACCEL) += ../../accel/drm_accel.o | 
 | drm-$(CONFIG_DRM_PANIC) += drm_panic.o | 
 | obj-$(CONFIG_DRM)	+= drm.o | 
 |  | 
 | obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o | 
 |  | 
 | # | 
 | # Memory-management helpers | 
 | # | 
 | # | 
 | obj-$(CONFIG_DRM_EXEC) += drm_exec.o | 
 | obj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o | 
 |  | 
 | obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o | 
 |  | 
 | drm_dma_helper-y := drm_gem_dma_helper.o | 
 | drm_dma_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_dma.o | 
 | drm_dma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.o | 
 | obj-$(CONFIG_DRM_GEM_DMA_HELPER) += drm_dma_helper.o | 
 |  | 
 | drm_shmem_helper-y := drm_gem_shmem_helper.o | 
 | obj-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_shmem_helper.o | 
 |  | 
 | drm_suballoc_helper-y := drm_suballoc.o | 
 | obj-$(CONFIG_DRM_SUBALLOC_HELPER) += drm_suballoc_helper.o | 
 |  | 
 | drm_vram_helper-y := drm_gem_vram_helper.o | 
 | obj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o | 
 |  | 
 | drm_ttm_helper-y := drm_gem_ttm_helper.o | 
 | obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o | 
 |  | 
 | # | 
 | # Modesetting helpers | 
 | # | 
 |  | 
 | drm_kms_helper-y := \ | 
 | 	drm_atomic_helper.o \ | 
 | 	drm_atomic_state_helper.o \ | 
 | 	drm_bridge_connector.o \ | 
 | 	drm_crtc_helper.o \ | 
 | 	drm_damage_helper.o \ | 
 | 	drm_encoder_slave.o \ | 
 | 	drm_flip_work.o \ | 
 | 	drm_format_helper.o \ | 
 | 	drm_gem_atomic_helper.o \ | 
 | 	drm_gem_framebuffer_helper.o \ | 
 | 	drm_kms_helper_common.o \ | 
 | 	drm_modeset_helper.o \ | 
 | 	drm_plane_helper.o \ | 
 | 	drm_probe_helper.o \ | 
 | 	drm_rect.o \ | 
 | 	drm_self_refresh_helper.o \ | 
 | 	drm_simple_kms_helper.o | 
 | drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o | 
 | drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += \ | 
 | 	drm_fbdev_generic.o \ | 
 | 	drm_fb_helper.o | 
 | obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o | 
 |  | 
 | # | 
 | # Drivers and the rest | 
 | # | 
 |  | 
 | obj-y			+= tests/ | 
 |  | 
 | obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o | 
 | obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o | 
 | obj-y			+= arm/ | 
 | obj-y			+= display/ | 
 | obj-$(CONFIG_DRM_TTM)	+= ttm/ | 
 | obj-$(CONFIG_DRM_SCHED)	+= scheduler/ | 
 | obj-$(CONFIG_DRM_RADEON)+= radeon/ | 
 | obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/ | 
 | obj-$(CONFIG_DRM_AMDGPU)+= amd/amdxcp/ | 
 | obj-$(CONFIG_DRM_I915)	+= i915/ | 
 | obj-$(CONFIG_DRM_XE)	+= xe/ | 
 | obj-$(CONFIG_DRM_KMB_DISPLAY)  += kmb/ | 
 | obj-$(CONFIG_DRM_MGAG200) += mgag200/ | 
 | obj-$(CONFIG_DRM_V3D)  += v3d/ | 
 | obj-$(CONFIG_DRM_VC4)  += vc4/ | 
 | obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ | 
 | obj-$(CONFIG_DRM_VGEM)	+= vgem/ | 
 | obj-$(CONFIG_DRM_VKMS)	+= vkms/ | 
 | obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/ | 
 | obj-$(CONFIG_DRM_EXYNOS) +=exynos/ | 
 | obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/ | 
 | obj-$(CONFIG_DRM_GMA500) += gma500/ | 
 | obj-$(CONFIG_DRM_UDL) += udl/ | 
 | obj-$(CONFIG_DRM_AST) += ast/ | 
 | obj-$(CONFIG_DRM_ARMADA) += armada/ | 
 | obj-$(CONFIG_DRM_ATMEL_HLCDC)	+= atmel-hlcdc/ | 
 | obj-y			+= renesas/ | 
 | obj-y			+= omapdrm/ | 
 | obj-$(CONFIG_DRM_SUN4I) += sun4i/ | 
 | obj-y			+= tilcdc/ | 
 | obj-$(CONFIG_DRM_QXL) += qxl/ | 
 | obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/ | 
 | obj-$(CONFIG_DRM_MSM) += msm/ | 
 | obj-$(CONFIG_DRM_TEGRA) += tegra/ | 
 | obj-$(CONFIG_DRM_STM) += stm/ | 
 | obj-$(CONFIG_DRM_STI) += sti/ | 
 | obj-y 			+= imx/ | 
 | obj-$(CONFIG_DRM_INGENIC) += ingenic/ | 
 | obj-$(CONFIG_DRM_LOGICVC) += logicvc/ | 
 | obj-$(CONFIG_DRM_MEDIATEK) += mediatek/ | 
 | obj-$(CONFIG_DRM_MESON)	+= meson/ | 
 | obj-y			+= i2c/ | 
 | obj-y			+= panel/ | 
 | obj-y			+= bridge/ | 
 | obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ | 
 | obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ | 
 | obj-y			+= hisilicon/ | 
 | obj-y			+= mxsfb/ | 
 | obj-y			+= tiny/ | 
 | obj-$(CONFIG_DRM_PL111) += pl111/ | 
 | obj-$(CONFIG_DRM_TVE200) += tve200/ | 
 | obj-$(CONFIG_DRM_XEN) += xen/ | 
 | obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/ | 
 | obj-$(CONFIG_DRM_LIMA)  += lima/ | 
 | obj-$(CONFIG_DRM_PANFROST) += panfrost/ | 
 | obj-$(CONFIG_DRM_PANTHOR) += panthor/ | 
 | obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/ | 
 | obj-$(CONFIG_DRM_MCDE) += mcde/ | 
 | obj-$(CONFIG_DRM_TIDSS) += tidss/ | 
 | obj-y			+= xlnx/ | 
 | obj-y			+= gud/ | 
 | obj-$(CONFIG_DRM_HYPERV) += hyperv/ | 
 | obj-y			+= solomon/ | 
 | obj-$(CONFIG_DRM_SPRD) += sprd/ | 
 | obj-$(CONFIG_DRM_LOONGSON) += loongson/ | 
 | obj-$(CONFIG_DRM_POWERVR) += imagination/ |