RE: [PATCH v2] kbuild: clean up *.dtb and *.dtb.S patterns from top-level Makefile
From: <hidden>
Date: 2017-11-02 08:48:46
Also in:
linux-arch, linux-arm-kernel, linux-kbuild, linux-mips
Hi Arnd,
-----Original Message----- From: arndbergmann@gmail.com [mailto:arndbergmann@gmail.com] On Behalf Of Arnd Bergmann Sent: Thursday, November 02, 2017 5:38 PM To: Yamada, Masahiro/山田 真弘 <redacted> Cc: DTML <redacted>; Rob Herring <robh@kernel.org>; linux-arch [off-list ref]; open list:RALINK MIPS ARCHITECTURE [off-list ref]; Linux Kbuild mailing list [off-list ref]; Russell King [off-list ref]; Ralf Baechle [off-list ref]; Pantelis Antoniou [off-list ref]; Mark Rutland [off-list ref]; Frank Rowand [off-list ref]; Linux ARM [off-list ref] Subject: Re: [PATCH v2] kbuild: clean up *.dtb and *.dtb.S patterns from top-level Makefile On Thu, Nov 2, 2017 at 3:51 AM, Masahiro Yamada [off-list ref] wrote:quoted
We need to add "clean-files" in Makfiles to clean up DT blobs, but we often miss to do so. Since there are no source files that end with .dtb or .dtb.S, so we can clean-up those files from the top-level Makefile. Signed-off-by: Masahiro Yamada <redacted>Acked-by: Arnd Bergmann <arnd@arndb.de> On a (barely) related note, I'm struggling with another problem in the way we handle the .dtb files in arm64 when CONFIG_OF_ALL_DTBS is enabled: when building on a lot of CPUs, we try to build the same files from both arch/arm64/boot/dts/Makefile and arch/arm64/boot/dts/*/Makefile, which then results in a failed build when writing the temporary files. I have come up with a workaround that I use locally, but it seemed too ugly to submit that for inclusion. Maybe you can come up with a nicer a solution for this as well? Arnd
Yeah, I had also noticed this race problem on parallel building with CONFIG_OF_ALL_DTBS. I was planning to do it when I come up with a clean implementation. One idea is to handle dtb-y and CONFIG_OF_ALL_DTBS natively in scripts/Makefile.build or somewhere as scripts/Makefile.dtbinst already recognizes dtb-y as a special variable.