When CONFIG_DRM_I915_GVT=y, the same include path is added twice.
drivers/gpu/drm/i915/Makefile specifies:
subdir-ccflags-y += -I$(srctree)/$(src)
drivers/gpu/drm/i915/gvt/Makefile adds the second '-I $(srctree)/$(src)', which is redundant.
The include path '-I $(srctree)/$(src)/$(GVT_DIR)/' is added to allow include/trace/define_trace.h to find the gvt/trace.h
By setting the correct relative path to TRACE_INCLUDE_PATH, this -I is also unneeded.
Signed-off-by: Masahiro Yamada masahiroy@kernel.org ---
drivers/gpu/drm/i915/gvt/Makefile | 1 - drivers/gpu/drm/i915/gvt/trace.h | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/Makefile b/drivers/gpu/drm/i915/gvt/Makefile index ea8324abc784..4d70f4689479 100644 --- a/drivers/gpu/drm/i915/gvt/Makefile +++ b/drivers/gpu/drm/i915/gvt/Makefile @@ -5,5 +5,4 @@ GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o trace_points.o firmware.o \ execlist.o scheduler.o sched_policy.o mmio_context.o cmd_parser.o debugfs.o \ fb_decoder.o dmabuf.o page_track.o
-ccflags-y += -I $(srctree)/$(src) -I $(srctree)/$(src)/$(GVT_DIR)/ i915-y += $(addprefix $(GVT_DIR)/, $(GVT_SOURCE)) diff --git a/drivers/gpu/drm/i915/gvt/trace.h b/drivers/gpu/drm/i915/gvt/trace.h index 6d787750d279..d63b7eef6179 100644 --- a/drivers/gpu/drm/i915/gvt/trace.h +++ b/drivers/gpu/drm/i915/gvt/trace.h @@ -377,7 +377,7 @@ TRACE_EVENT(render_mmio,
/* This part must be out of protection */ #undef TRACE_INCLUDE_PATH -#define TRACE_INCLUDE_PATH . +#define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/i915/gvt #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_FILE trace #include <trace/define_trace.h>
Including subdirectory Makefile from the driver main Makefile does not buy us much because this is not real isolation.
Having a single Makefile at the top of the module is clearer, and it is what this driver almost does.
Move all gvt objects to the i915 main Makefile.
Signed-off-by: Masahiro Yamada masahiroy@kernel.org ---
drivers/gpu/drm/i915/Makefile | 28 ++++++++++++++++++++++++---- drivers/gpu/drm/i915/gvt/Makefile | 8 -------- 2 files changed, 24 insertions(+), 12 deletions(-) delete mode 100644 drivers/gpu/drm/i915/gvt/Makefile
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 6cd1f6253814..74e965882a98 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -275,10 +275,30 @@ i915-$(CONFIG_DRM_I915_SELFTEST) += \ # virtual gpu code i915-y += i915_vgpu.o
-ifeq ($(CONFIG_DRM_I915_GVT),y) -i915-y += intel_gvt.o -include $(src)/gvt/Makefile -endif +i915-$(CONFIG_DRM_I915_GVT) += \ + intel_gvt.o \ + gvt/gvt.o \ + gvt/aperture_gm.o \ + gvt/handlers.o \ + gvt/vgpu.o \ + gvt/trace_points.o \ + gvt/firmware.o \ + gvt/interrupt.o \ + gvt/gtt.o \ + gvt/cfg_space.o \ + gvt/opregion.o \ + gvt/mmio.o \ + gvt/display.o \ + gvt/edid.o \ + gvt/execlist.o \ + gvt/scheduler.o \ + gvt/sched_policy.o \ + gvt/mmio_context.o \ + gvt/cmd_parser.o \ + gvt/debugfs.o \ + gvt/fb_decoder.o \ + gvt/dmabuf.o \ + gvt/page_track.o
obj-$(CONFIG_DRM_I915) += i915.o obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o diff --git a/drivers/gpu/drm/i915/gvt/Makefile b/drivers/gpu/drm/i915/gvt/Makefile deleted file mode 100644 index 4d70f4689479..000000000000 --- a/drivers/gpu/drm/i915/gvt/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -GVT_DIR := gvt -GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o trace_points.o firmware.o \ - interrupt.o gtt.o cfg_space.o opregion.o mmio.o display.o edid.o \ - execlist.o scheduler.o sched_policy.o mmio_context.o cmd_parser.o debugfs.o \ - fb_decoder.o dmabuf.o page_track.o - -i915-y += $(addprefix $(GVT_DIR)/, $(GVT_SOURCE))
On Fri, 10 Apr 2020, Masahiro Yamada masahiroy@kernel.org wrote:
Including subdirectory Makefile from the driver main Makefile does not buy us much because this is not real isolation.
The isolation it does buy us is that gvt/ subdirectory is developed and maintained on a separate mailing list and separate git repo. I think at some point there were plans to make it an actual module too.
So while you could quip about Conway's law here, I think it might be better to keep this as it is.
Zhenyu, Zhi, what do you think?
BR, Jani.
Having a single Makefile at the top of the module is clearer, and it is what this driver almost does.
Move all gvt objects to the i915 main Makefile.
Signed-off-by: Masahiro Yamada masahiroy@kernel.org
drivers/gpu/drm/i915/Makefile | 28 ++++++++++++++++++++++++---- drivers/gpu/drm/i915/gvt/Makefile | 8 -------- 2 files changed, 24 insertions(+), 12 deletions(-) delete mode 100644 drivers/gpu/drm/i915/gvt/Makefile
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 6cd1f6253814..74e965882a98 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -275,10 +275,30 @@ i915-$(CONFIG_DRM_I915_SELFTEST) += \ # virtual gpu code i915-y += i915_vgpu.o
-ifeq ($(CONFIG_DRM_I915_GVT),y) -i915-y += intel_gvt.o -include $(src)/gvt/Makefile -endif +i915-$(CONFIG_DRM_I915_GVT) += \
- intel_gvt.o \
- gvt/gvt.o \
- gvt/aperture_gm.o \
- gvt/handlers.o \
- gvt/vgpu.o \
- gvt/trace_points.o \
- gvt/firmware.o \
- gvt/interrupt.o \
- gvt/gtt.o \
- gvt/cfg_space.o \
- gvt/opregion.o \
- gvt/mmio.o \
- gvt/display.o \
- gvt/edid.o \
- gvt/execlist.o \
- gvt/scheduler.o \
- gvt/sched_policy.o \
- gvt/mmio_context.o \
- gvt/cmd_parser.o \
- gvt/debugfs.o \
- gvt/fb_decoder.o \
- gvt/dmabuf.o \
- gvt/page_track.o
obj-$(CONFIG_DRM_I915) += i915.o obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o diff --git a/drivers/gpu/drm/i915/gvt/Makefile b/drivers/gpu/drm/i915/gvt/Makefile deleted file mode 100644 index 4d70f4689479..000000000000 --- a/drivers/gpu/drm/i915/gvt/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -GVT_DIR := gvt -GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o trace_points.o firmware.o \
- interrupt.o gtt.o cfg_space.o opregion.o mmio.o display.o edid.o \
- execlist.o scheduler.o sched_policy.o mmio_context.o cmd_parser.o debugfs.o \
- fb_decoder.o dmabuf.o page_track.o
-i915-y += $(addprefix $(GVT_DIR)/, $(GVT_SOURCE))
On 2020.04.10 00:58:16 +0300, Jani Nikula wrote:
On Fri, 10 Apr 2020, Masahiro Yamada masahiroy@kernel.org wrote:
Including subdirectory Makefile from the driver main Makefile does not buy us much because this is not real isolation.
The isolation it does buy us is that gvt/ subdirectory is developed and maintained on a separate mailing list and separate git repo. I think at some point there were plans to make it an actual module too.
So while you could quip about Conway's law here, I think it might be better to keep this as it is.
Zhenyu, Zhi, what do you think?
Yeah, I have the same feeling, maybe we can add some comment in gvt Makefile to state that point.
Thanks
Having a single Makefile at the top of the module is clearer, and it is what this driver almost does.
Move all gvt objects to the i915 main Makefile.
Signed-off-by: Masahiro Yamada masahiroy@kernel.org
drivers/gpu/drm/i915/Makefile | 28 ++++++++++++++++++++++++---- drivers/gpu/drm/i915/gvt/Makefile | 8 -------- 2 files changed, 24 insertions(+), 12 deletions(-) delete mode 100644 drivers/gpu/drm/i915/gvt/Makefile
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 6cd1f6253814..74e965882a98 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -275,10 +275,30 @@ i915-$(CONFIG_DRM_I915_SELFTEST) += \ # virtual gpu code i915-y += i915_vgpu.o
-ifeq ($(CONFIG_DRM_I915_GVT),y) -i915-y += intel_gvt.o -include $(src)/gvt/Makefile -endif +i915-$(CONFIG_DRM_I915_GVT) += \
- intel_gvt.o \
- gvt/gvt.o \
- gvt/aperture_gm.o \
- gvt/handlers.o \
- gvt/vgpu.o \
- gvt/trace_points.o \
- gvt/firmware.o \
- gvt/interrupt.o \
- gvt/gtt.o \
- gvt/cfg_space.o \
- gvt/opregion.o \
- gvt/mmio.o \
- gvt/display.o \
- gvt/edid.o \
- gvt/execlist.o \
- gvt/scheduler.o \
- gvt/sched_policy.o \
- gvt/mmio_context.o \
- gvt/cmd_parser.o \
- gvt/debugfs.o \
- gvt/fb_decoder.o \
- gvt/dmabuf.o \
- gvt/page_track.o
obj-$(CONFIG_DRM_I915) += i915.o obj-$(CONFIG_DRM_I915_GVT_KVMGT) += gvt/kvmgt.o diff --git a/drivers/gpu/drm/i915/gvt/Makefile b/drivers/gpu/drm/i915/gvt/Makefile deleted file mode 100644 index 4d70f4689479..000000000000 --- a/drivers/gpu/drm/i915/gvt/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -GVT_DIR := gvt -GVT_SOURCE := gvt.o aperture_gm.o handlers.o vgpu.o trace_points.o firmware.o \
- interrupt.o gtt.o cfg_space.o opregion.o mmio.o display.o edid.o \
- execlist.o scheduler.o sched_policy.o mmio_context.o cmd_parser.o debugfs.o \
- fb_decoder.o dmabuf.o page_track.o
-i915-y += $(addprefix $(GVT_DIR)/, $(GVT_SOURCE))
-- Jani Nikula, Intel Open Source Graphics Center
dri-devel@lists.freedesktop.org