On Sat, Jan 30, 2016 at 01:11:01PM +0200, Oded Gabbay wrote: > On Sat, Jan 30, 2016 at 11:56 AM, Xinliang Liu <xinliang.liu@xxxxxxxxxx> wrote: > > This patch cleans up the Makefile of drm root directory. > > Make core and device drivers configuration list sorted Alphabetically. > > > > Signed-off-by: Xinliang Liu <xinliang.liu@xxxxxxxxxx> > > Reviewed-by: Xinwei Kong <kong.kongxinwei@xxxxxxxxxxxxx> > > Reviewed-by: Yifan Liu <liu_fanyi@xxxxxxx> > > --- > > drivers/gpu/drm/Makefile | 102 ++++++++++++++++++++++++----------------------- > > 1 file changed, 52 insertions(+), 50 deletions(-) > > > > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > > index 61766dec6a8d..77000717305b 100644 > > --- a/drivers/gpu/drm/Makefile > > +++ b/drivers/gpu/drm/Makefile > > @@ -2,6 +2,9 @@ > > # Makefile for the drm device driver. This driver provides support for the > > # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. > > > > +CFLAGS_drm_trace_points.o := -I$(src) > > + > > +# core. Please keep this list sorted alphabetically > > drm-y := drm_auth.o drm_bufs.o drm_cache.o \ > > drm_context.o drm_dma.o \ > > drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \ > > @@ -13,64 +16,63 @@ drm-y := drm_auth.o drm_bufs.o drm_cache.o \ > > drm_trace_points.o drm_global.o drm_prime.o \ > > drm_rect.o drm_vma_manager.o drm_flip_work.o \ > > drm_modeset_lock.o drm_atomic.o drm_bridge.o > > - > > -drm-$(CONFIG_COMPAT) += drm_ioc32.o > > -drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o > > drm-$(CONFIG_PCI) += ati_pcigart.o > > -drm-$(CONFIG_DRM_PANEL) += drm_panel.o > > -drm-$(CONFIG_OF) += drm_of.o > > drm-$(CONFIG_AGP) += drm_agpsupport.o > > +drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o > > +drm-$(CONFIG_COMPAT) += drm_ioc32.o > > +drm-$(CONFIG_OF) += drm_of.o > > +drm-$(CONFIG_DRM_PANEL) += drm_panel.o > > +obj-$(CONFIG_DRM) += drm.o > > + > > +obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o > > > > drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_probe_helper.o \ > > drm_plane_helper.o drm_dp_mst_topology.o drm_atomic_helper.o > > drm_kms_helper-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o > > -drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o > > drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o > > - > > +drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o > > obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o > > > > -CFLAGS_drm_trace_points.o := -I$(src) > > +obj-$(CONFIG_DRM_TTM) += ttm/ > > > > -obj-$(CONFIG_DRM) += drm.o > > -obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o > > -obj-$(CONFIG_DRM_TTM) += ttm/ > > -obj-$(CONFIG_DRM_TDFX) += tdfx/ > > -obj-$(CONFIG_DRM_R128) += r128/ > > -obj-$(CONFIG_HSA_AMD) += amd/amdkfd/ > > -obj-$(CONFIG_DRM_RADEON)+= radeon/ > > -obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/ > > -obj-$(CONFIG_DRM_MGA) += mga/ > > -obj-$(CONFIG_DRM_I810) += i810/ > > -obj-$(CONFIG_DRM_I915) += i915/ > > -obj-$(CONFIG_DRM_MGAG200) += mgag200/ > > -obj-$(CONFIG_DRM_VC4) += vc4/ > > -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/ > > -obj-$(CONFIG_DRM_SIS) += sis/ > > -obj-$(CONFIG_DRM_SAVAGE)+= savage/ > > -obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ > > -obj-$(CONFIG_DRM_VIA) +=via/ > > -obj-$(CONFIG_DRM_VGEM) += vgem/ > > -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/ > > +# device drivers. Please keep this list sorted alphabetically > > +obj-$(CONFIG_DRM_AMDGPU) += amd/amdgpu/ > > +obj-$(CONFIG_HSA_AMD) += amd/amdkfd/ > > +obj-$(CONFIG_DRM_ARMADA) += armada/ > > +obj-$(CONFIG_DRM_AST) += ast/ > > obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/ > > -obj-$(CONFIG_DRM_RCAR_DU) += rcar-du/ > > -obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/ > > -obj-y += omapdrm/ > > -obj-y += tilcdc/ > > -obj-$(CONFIG_DRM_QXL) += qxl/ > > -obj-$(CONFIG_DRM_BOCHS) += bochs/ > > -obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/ > > -obj-$(CONFIG_DRM_MSM) += msm/ > > -obj-$(CONFIG_DRM_TEGRA) += tegra/ > > -obj-$(CONFIG_DRM_STI) += sti/ > > -obj-$(CONFIG_DRM_IMX) += imx/ > > -obj-y += i2c/ > > -obj-y += panel/ > > -obj-y += bridge/ > > -obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ > > -obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ > > +obj-$(CONFIG_DRM_BOCHS) += bochs/ > > +obj-y += bridge/ > > +obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/ > > +obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ > > +obj-$(CONFIG_DRM_EXYNOS) += exynos/ > > +obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ > > +obj-$(CONFIG_DRM_GMA500) += gma500/ > > +obj-y += i2c/ > > +obj-$(CONFIG_DRM_I810) += i810/ > > +obj-$(CONFIG_DRM_I915) += i915/ > > +obj-$(CONFIG_DRM_IMX) += imx/ > > +obj-$(CONFIG_DRM_MGA) += mga/ > > +obj-$(CONFIG_DRM_MGAG200) += mgag200/ > > +obj-$(CONFIG_DRM_MSM) += msm/ > > +obj-$(CONFIG_DRM_NOUVEAU) += nouveau/ > > +obj-y += omapdrm/ > > +obj-y += panel/ > > +obj-$(CONFIG_DRM_QXL) += qxl/ > > +obj-$(CONFIG_DRM_R128) += r128/ > > +obj-$(CONFIG_DRM_RADEON) += radeon/ > > +obj-$(CONFIG_DRM_RCAR_DU) += rcar-du/ > > +obj-$(CONFIG_DRM_ROCKCHIP) += rockchip/ > > +obj-$(CONFIG_DRM_SAVAGE) += savage/ > > +obj-$(CONFIG_DRM_SHMOBILE) += shmobile/ > > +obj-$(CONFIG_DRM_SIS) += sis/ > > +obj-$(CONFIG_DRM_STI) += sti/ > > +obj-$(CONFIG_DRM_TDFX) += tdfx/ > > +obj-$(CONFIG_DRM_TEGRA) += tegra/ > > +obj-y += tilcdc/ > > +obj-$(CONFIG_DRM_UDL) += udl/ > > +obj-$(CONFIG_DRM_VC4) += vc4/ > > +obj-$(CONFIG_DRM_VGEM) += vgem/ > > +obj-$(CONFIG_DRM_VIA) += via/ > > +obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/ > > +obj-$(CONFIG_DRM_VMWGFX) += vmwgfx/ > > -- > > 1.9.1 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@xxxxxxxxxxxxxxxxxxxxx > > http://lists.freedesktop.org/mailman/listinfo/dri-devel > > NACK, amdkfd *must* be before amdgpu *and* radeon, because it needs to > be already loaded when amdgpu/radeon get loaded, and when all these > drivers are compiled inside the kernel, the order is maintained by the > linkage order in the makefile. That's not how this is supposed to be done. If you have inter-driver depencies like this you need to check for them, and defer the driver loading by returngin -EPROBE_DEFER. The core kernel will then re-probe your driver once other drivers have loaded. Handling inter-driver deps using compile-ordering is seriously too fragile. Please fix this up, thanks. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html