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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 6 May 2024 12:29:14 +1000

Hi all,

On Mon, 6 May 2024 12:13:08 +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 commit:
> 
>   0fddd045f88e ("drm/msm: generate headers on the fly")
> 
> 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.

I actually needed the below instead.
-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpu/drm/msm/Makefile
index b8cc007fc1b9,c861de58286c..cb9e7adbc4e1
--- 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,61 +145,61 @@@ 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
+ 
+ quiet_cmd_headergen = GENHDR  $@
 -      cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(srctree)/$(src)/registers/gen_header.py --rnn $(srctree)/$(src)/registers --xml $< c-defines > $@
++      cmd_headergen = mkdir -p $(obj)/generated && $(PYTHON3) $(src)/registers/gen_header.py --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)