[PATCH] powerpc/boot: Fix build of dts/fsl

Masahiro Yamada masahiroy at kernel.org
Wed Dec 16 16:23:22 AEDT 2020


On Wed, Dec 16, 2020 at 11:41 AM Michael Ellerman <mpe at ellerman.id.au> wrote:
>
> Masahiro Yamada <masahiroy at kernel.org> writes:
> > On Tue, Dec 15, 2020 at 12:29 PM Michael Ellerman <mpe at ellerman.id.au> wrote:
> >>
> >> The lkp robot reported that some configs fail to build, for example
> >> mpc85xx_smp_defconfig, with:
> >>
> >>   cc1: fatal error: opening output file arch/powerpc/boot/dts/fsl/.mpc8540ads.dtb.dts.tmp: No such file or directory
> >>
> >> This bisects to:
> >>   cc8a51ca6f05 ("kbuild: always create directories of targets")
> >>
> >> Although that commit claims to be about in-tree builds, it somehow
> >> breaks out-of-tree builds. But presumably it's just exposing a latent
> >> bug in our Makefiles.
> >>
> >> We can fix it by adding to targets for dts/fsl in the same way that we
> >> do for dts.
> >>
> >> Fixes: cc8a51ca6f05 ("kbuild: always create directories of targets")
> >> Reported-by: kernel test robot <lkp at intel.com>
> >> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> >> ---
> >>  arch/powerpc/boot/Makefile | 2 ++
> >>  1 file changed, 2 insertions(+)
> >>
> >> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> >> index 68a7534454cd..c3e084cceaed 100644
> >> --- a/arch/powerpc/boot/Makefile
> >> +++ b/arch/powerpc/boot/Makefile
> >> @@ -372,6 +372,8 @@ initrd-y := $(filter-out $(image-y), $(initrd-y))
> >>  targets        += $(image-y) $(initrd-y)
> >>  targets += $(foreach x, dtbImage uImage cuImage simpleImage treeImage, \
> >>                 $(patsubst $(x).%, dts/%.dtb, $(filter $(x).%, $(image-y))))
> >> +targets += $(foreach x, dtbImage uImage cuImage simpleImage treeImage, \
> >> +               $(patsubst $(x).%, dts/fsl/%.dtb, $(filter $(x).%, $(image-y))))
> >>
> >>  $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
> >>
> >
> >
> > Some freescale dts files are right under arch/powerpc/boot/dts/,
> > but some are in the fsl/ subdirectory.
> > I do not understand the policy.
>
> There isn't a policy. Best I can tell Kumar felt like it would be
> cleaner to have a separate directory for (some of) the Freescale DTS
> files, when he initially submitted them ~9 years ago.
>
>
> > If "fsl/" is a very special case,
> > I just thought we could add a new syntax, fslimage-y,
> > but I do not mind either way.
>
> OK. If you don't mind I'll merge my patch as a quick fix for now.
>
> Then we can probably move all the fsl/ files up one level and avoid the
> problem entirely in future.


Yes. I think it is OK.

As for PPC, most of the DT files are freescale.

Even if you separated DT files in vendor directories,
the majority would go into fsl/.



> > fslimage-$(CONFIG_MPC8540_ADS) += cuImage.mpc8540ads
> >
> > targets += $(foreach x, dtbImage uImage cuImage simpleImage treeImage, \
> >                $(patsubst $(x).%, dts/fsl/%.dtb, $(filter $(x).%,
> > $(fslimage-y))))
> >
> >
> > This Makefile is wrong over-all anyway.
>
> Excellent.

You can pass V=2 to see why targets under arch/powerpc/boot/
are needlessly rebuilt.

This Makefile is already too cluttered, and I do not have
much time to look into it.






-- 
Best Regards
Masahiro Yamada


More information about the Linuxppc-dev mailing list