On Mon, Sep 10, 2018 at 10:04 AM Rob Herring <robh@xxxxxxxxxx> wrote: > > Align powerpc with other architectures which build the dtb files in the > same directory as the dts files. This is also in line with most other > build targets which are located in the same directory as the source. > This move will help enable the 'dtbs' target which builds all the dtbs > regardless of kernel config. > > This transition could break some scripts if they expect dtb files in the > old location. > > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Cc: Paul Mackerras <paulus@xxxxxxxxx> > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > --- > v3: > - Remove duplicate mpc5200 dtbs from image-y targets. The dtb target already > comes from the cuImage.<platform> target. Do the PPC folks have any comments on this? Rob > > arch/powerpc/Makefile | 2 +- > arch/powerpc/boot/Makefile | 55 ++++++++++++++++------------------ > arch/powerpc/boot/dts/Makefile | 1 + > 3 files changed, 28 insertions(+), 30 deletions(-) > create mode 100644 arch/powerpc/boot/dts/Makefile > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 11a1acba164a..53ea887eb34e 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -294,7 +294,7 @@ bootwrapper_install: > $(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > > %.dtb: scripts > - $(Q)$(MAKE) $(build)=$(boot) $(patsubst %,$(boot)/%,$@) > + $(Q)$(MAKE) $(build)=$(boot)/dts $(patsubst %,$(boot)/dts/%,$@) > > # Used to create 'merged defconfigs' > # To use it $(call) it with the first argument as the base defconfig > diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile > index 0fb96c26136f..bca5c23767df 100644 > --- a/arch/powerpc/boot/Makefile > +++ b/arch/powerpc/boot/Makefile > @@ -304,9 +304,9 @@ image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \ > dtbImage.adder875-redboot > > # Board ports in arch/powerpc/platform/52xx/Kconfig > -image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 lite5200.dtb > -image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200b lite5200b.dtb > -image-$(CONFIG_PPC_MEDIA5200) += cuImage.media5200 media5200.dtb > +image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 > +image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200b > +image-$(CONFIG_PPC_MEDIA5200) += cuImage.media5200 > > # Board ports in arch/powerpc/platform/82xx/Kconfig > image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads > @@ -381,11 +381,11 @@ $(addprefix $(obj)/, $(sort $(filter zImage.%, $(image-y)))): vmlinux $(wrapperb > $(call if_changed,wrap,$(subst $(obj)/zImage.,,$@)) > > # dtbImage% - a dtbImage is a zImage with an embedded device tree blob > -$(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb FORCE > - $(call if_changed,wrap,$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) > +$(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(obj)/dts/%.dtb FORCE > + $(call if_changed,wrap,$*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz) > > -$(obj)/dtbImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb FORCE > - $(call if_changed,wrap,$*,,$(obj)/$*.dtb) > +$(obj)/dtbImage.%: vmlinux $(wrapperbits) $(obj)/dts/%.dtb FORCE > + $(call if_changed,wrap,$*,,$(obj)/dts/$*.dtb) > > # This cannot be in the root of $(src) as the zImage rule always adds a $(obj) > # prefix > @@ -395,36 +395,33 @@ $(obj)/vmlinux.strip: vmlinux > $(obj)/uImage: vmlinux $(wrapperbits) FORCE > $(call if_changed,wrap,uboot) > > -$(obj)/uImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) > +$(obj)/uImage.initrd.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,uboot-$*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz) > > -$(obj)/uImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb) > +$(obj)/uImage.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,uboot-$*,,$(obj)/dts/$*.dtb) > > -$(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) > +$(obj)/cuImage.initrd.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,cuboot-$*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz) > > -$(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb) > +$(obj)/cuImage.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,cuboot-$*,,$(obj)/dts/$*.dtb) > > -$(obj)/simpleImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) > +$(obj)/simpleImage.initrd.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,simpleboot-$*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz) > > -$(obj)/simpleImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,simpleboot-$*,,$(obj)/$*.dtb) > +$(obj)/simpleImage.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,simpleboot-$*,,$(obj)/dts/$*.dtb) > > -$(obj)/treeImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) > +$(obj)/treeImage.initrd.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,treeboot-$*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz) > > -$(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) FORCE > - $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) > +$(obj)/treeImage.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE > + $(call if_changed,wrap,treeboot-$*,,$(obj)/dts/$*.dtb) > > -# Rule to build device tree blobs > -$(obj)/%.dtb: $(src)/dts/%.dts FORCE > - $(call if_changed_dep,dtc) > - > -$(obj)/%.dtb: $(src)/dts/fsl/%.dts FORCE > - $(call if_changed_dep,dtc) > +# Needed for the above targets to work with dts/fsl/ files > +$(obj)/dts/%.dtb: $(obj)/dts/fsl/%.dtb > + @cp $< $@ > > # If there isn't a platform selected then just strip the vmlinux. > ifeq (,$(image-y)) > diff --git a/arch/powerpc/boot/dts/Makefile b/arch/powerpc/boot/dts/Makefile > new file mode 100644 > index 000000000000..f66554cd5c45 > --- /dev/null > +++ b/arch/powerpc/boot/dts/Makefile > @@ -0,0 +1 @@ > +# SPDX-License-Identifier: GPL-2.0 > -- > 2.17.1