Subject: Re: linux-next: manual merge of the drm-msm tree with the kbuild tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 13 May 2024 12:03:12 +1000

Hi all,

On Tue, 7 May 2024 12:51:32 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> Today's linux-next merge of the drm-msm tree got a conflict in:
> 
>   drivers/gpu/drm/msm/Makefile
> 
> between commit:
> 
>   7c972986689b ("kbuild: use $(src) instead of $(srctree)/$(src) for source directory")
> 
> from the kbuild tree and commits:
> 
>   0fddd045f88e ("drm/msm: generate headers on the fly")
>   07a2f8716c41 ("drm/msm/gen_header: allow skipping the validation")
> 
> from the drm-msm tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> diff --cc drivers/gpu/drm/msm/Makefile
> index b8cc007fc1b9,718968717ad5..000000000000
> --- a/drivers/gpu/drm/msm/Makefile
> +++ b/drivers/gpu/drm/msm/Makefile
> @@@ -1,10 -1,11 +1,11 @@@
>   # SPDX-License-Identifier: GPL-2.0
>  -ccflags-y := -I $(srctree)/$(src)
>  +ccflags-y := -I $(src)
> + ccflags-y += -I $(obj)/generated
>  -ccflags-y += -I $(srctree)/$(src)/disp/dpu1
>  -ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(srctree)/$(src)/dsi
>  -ccflags-$(CONFIG_DRM_MSM_DP) += -I $(srctree)/$(src)/dp
>  +ccflags-y += -I $(src)/disp/dpu1
>  +ccflags-$(CONFIG_DRM_MSM_DSI) += -I $(src)/dsi
>  +ccflags-$(CONFIG_DRM_MSM_DP) += -I $(src)/dp
>   
> - msm-y := \
> + adreno-y := \
>   	adreno/adreno_device.o \
>   	adreno/adreno_gpu.o \
>   	adreno/a2xx_gpu.o \
> @@@ -140,11 -145,68 +145,68 @@@ msm-display-$(CONFIG_DRM_MSM_DSI) += ds
>   			dsi/dsi_manager.o \
>   			dsi/phy/dsi_phy.o
>   
> - msm-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o
> - msm-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o
> - msm-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o
> - msm-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o
> - msm-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o
> - msm-$(CONFIG_DRM_MSM_DSI_7NM_PHY) += dsi/phy/dsi_phy_7nm.o
> + msm-display-$(CONFIG_DRM_MSM_DSI_28NM_PHY) += dsi/phy/dsi_phy_28nm.o
> + msm-display-$(CONFIG_DRM_MSM_DSI_20NM_PHY) += dsi/phy/dsi_phy_20nm.o
> + msm-display-$(CONFIG_DRM_MSM_DSI_28NM_8960_PHY) += dsi/phy/dsi_phy_28nm_8960.o
> + msm-display-$(CONFIG_DRM_MSM_DSI_14NM_PHY) += dsi/phy/dsi_phy_14nm.o
> + msm-display-$(CONFIG_DRM_MSM_DSI_10NM_PHY) += dsi/phy/dsi_phy_10nm.o
> + msm-display-$(CONFIG_DRM_MSM_DSI_7NM_PHY) += dsi/phy/dsi_phy_7nm.o
> + 
> + msm-y += $(adreno-y) $(msm-display-y)
>   
>   obj-$(CONFIG_DRM_MSM)	+= msm.o
> + 
> + ifeq (y,$(CONFIG_DRM_MSM_VALIDATE_XML))
> + 	headergen-opts += --validate
> + else
> + 	headergen-opts += --no-validate
> + endif
> + 
> + quiet_cmd_headergen = GENHDR  $@
>  -      cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(srctree)/$(src)/registers/gen_header.py \
>  -		      $(headergen-opts) --rnn $(srctree)/$(src)/registers --xml $< c-defines > $@
> ++      cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(src)/registers/gen_header.py \
> ++		      $(headergen-opts) --rnn $(src)/registers --xml $< c-defines > $@
> + 
> + $(obj)/generated/%.xml.h: $(src)/registers/adreno/%.xml \
> + 		$(src)/registers/adreno/adreno_common.xml \
> + 		$(src)/registers/adreno/adreno_pm4.xml \
> + 		$(src)/registers/freedreno_copyright.xml \
> + 		$(src)/registers/gen_header.py \
> + 		$(src)/registers/rules-fd.xsd \
> + 		FORCE
> + 	$(call if_changed,headergen)
> + 
> + $(obj)/generated/%.xml.h: $(src)/registers/display/%.xml \
> + 		$(src)/registers/freedreno_copyright.xml \
> + 		$(src)/registers/gen_header.py \
> + 		$(src)/registers/rules-fd.xsd \
> + 		FORCE
> + 	$(call if_changed,headergen)
> + 
> + ADRENO_HEADERS = \
> + 	generated/a2xx.xml.h \
> + 	generated/a3xx.xml.h \
> + 	generated/a4xx.xml.h \
> + 	generated/a5xx.xml.h \
> + 	generated/a6xx.xml.h \
> + 	generated/a6xx_gmu.xml.h \
> + 	generated/adreno_common.xml.h \
> + 	generated/adreno_pm4.xml.h \
> + 
> + DISPLAY_HEADERS = \
> + 	generated/dsi_phy_7nm.xml.h \
> + 	generated/dsi_phy_10nm.xml.h \
> + 	generated/dsi_phy_14nm.xml.h \
> + 	generated/dsi_phy_20nm.xml.h \
> + 	generated/dsi_phy_28nm_8960.xml.h \
> + 	generated/dsi_phy_28nm.xml.h \
> + 	generated/dsi.xml.h \
> + 	generated/hdmi.xml.h \
> + 	generated/mdp4.xml.h \
> + 	generated/mdp5.xml.h \
> + 	generated/mdp_common.xml.h \
> + 	generated/sfpb.xml.h
> + 
> + $(addprefix $(obj)/,$(adreno-y)): $(addprefix $(obj)/,$(ADRENO_HEADERS))
> + $(addprefix $(obj)/,$(msm-display-y)): $(addprefix $(obj)/,$(DISPLAY_HEADERS))
> + 
> + targets += $(ADRENO_HEADERS) $(DISPLAY_HEADERS)

This is now  conflict between the drm tree and the kbuild tree.

-- 
Cheers,
Stephen Rothwell