Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259# 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.warnsubdir-ccflags-y += -Wextra -Wunused -Wno-unused-parametersubdir-ccflags-y += $(call cc-option, -Wrestrict)subdir-ccflags-y += -Wmissing-format-attributesubdir-ccflags-y += -Wold-style-definitionsubdir-ccflags-y += -Wmissing-include-dirssubdir-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 -Wextraifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)subdir-ccflags-y += -Wno-missing-field-initializerssubdir-ccflags-y += -Wno-shift-negative-valueendififeq ($(findstring 3, $(KBUILD_EXTRA_WARN)),)subdir-ccflags-y += -Wno-sign-compareendif# --- end copy-paste
# Enable -Werror in CI and developmentsubdir-ccflags-$(CONFIG_DRM_WERROR) += -Werror
drm-y := \ drm_atomic.o \ drm_atomic_uapi.o \ drm_auth.o \ drm_blend.o \ drm_bridge.o \ drm_cache.o \ drm_color_mgmt.o \ drm_colorop.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_rect.o \ drm_syncobj.o \ drm_sysfs.o \ drm_trace_points.o \ drm_vblank.o \ drm_vblank_work.o \ drm_vma_manager.o \ drm_writeback.odrm-$(CONFIG_DRM_CLIENT) += \ drm_client.o \ drm_client_event.o \ drm_client_modeset.o \ drm_client_sysrq.odrm-$(CONFIG_COMPAT) += drm_ioc32.odrm-$(CONFIG_DRM_PANEL) += drm_panel.odrm-$(CONFIG_OF) += drm_of.odrm-$(CONFIG_PCI) += drm_pci.odrm-$(CONFIG_DEBUG_FS) += \ drm_debugfs.o \ drm_debugfs_crc.odrm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.odrm-$(CONFIG_DRM_PRIVACY_SCREEN) += \ drm_privacy_screen.o \ drm_privacy_screen_x86.odrm-$(CONFIG_DRM_ACCEL) += ../../accel/drm_accel.odrm-$(CONFIG_DRM_PANIC) += drm_panic.odrm-$(CONFIG_DRM_DRAW) += drm_draw.odrm-$(CONFIG_DRM_PANIC_SCREEN_QR_CODE) += drm_panic_qr.odrm-$(CONFIG_DRM_RAS) += drm_ras.o drm_ras_nl.o drm_ras_genl_family.oobj-$(CONFIG_DRM) += drm.o
obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.oobj-$(CONFIG_DRM_PANEL_BACKLIGHT_QUIRKS) += drm_panel_backlight_quirks.o
## Memory-management helpers##obj-$(CONFIG_DRM_EXEC) += drm_exec.oobj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o
drm_gpusvm_helper-y := \ drm_gpusvm.odrm_gpusvm_helper-$(CONFIG_ZONE_DEVICE) += \ drm_pagemap.o\ drm_pagemap_util.o
obj-$(CONFIG_DRM_GPUSVM) += drm_gpusvm_helper.o
obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
drm_dma_helper-y := drm_gem_dma_helper.odrm_dma_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_dma.odrm_dma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.oobj-$(CONFIG_DRM_GEM_DMA_HELPER) += drm_dma_helper.o
drm_shmem_helper-y := drm_gem_shmem_helper.odrm_shmem_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_shmem.oobj-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_shmem_helper.o
drm_suballoc_helper-y := drm_suballoc.oobj-$(CONFIG_DRM_SUBALLOC_HELPER) += drm_suballoc_helper.o
drm_vram_helper-y := drm_gem_vram_helper.oobj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o
drm_ttm_helper-y := drm_gem_ttm_helper.odrm_ttm_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_ttm.oobj-$(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_helper.o \ drm_crtc_helper.o \ drm_damage_helper.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_self_refresh_helper.o \ drm_simple_kms_helper.o \ drm_vblank_helper.odrm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.odrm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.oobj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
## Drivers and the rest#
obj-y += tests/
obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.oobj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.oobj-y += arm/obj-y += clients/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_NOVA) += nova/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 += panel/obj-y += bridge/obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/obj-y += hisilicon/obj-y += mxsfb/obj-y += sysfb/obj-y += tiny/obj-$(CONFIG_DRM_PL111) += pl111/obj-$(CONFIG_DRM_TVE200) += tve200/obj-$(CONFIG_DRM_ADP) += adp/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_TYR) += tyr/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 += sitronix/obj-y += solomon/obj-$(CONFIG_DRM_SPRD) += sprd/obj-$(CONFIG_DRM_LOONGSON) += loongson/obj-$(CONFIG_DRM_POWERVR) += imagination/obj-$(CONFIG_DRM_VERISILICON_DC) += verisilicon/
# Ensure drm headers are self-contained and pass kernel-dochdrtest-files := \ $(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \ $(shell cd $(src) && find display -name '*.h')
always-$(CONFIG_DRM_HEADER_TEST) += \ $(patsubst %.h,%.hdrtest, $(hdrtest-files))
# Include the header twice to detect missing include guard.quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@) cmd_hdrtest = \ $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \ PYTHONDONTWRITEBYTECODE=1 $(PYTHON3) $(KERNELDOC) -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \ touch $@
$(obj)/%.hdrtest: $(src)/%.h FORCE $(call if_changed_dep,hdrtest)