Re: [PATCH v2 6/9] kbuild: consolidate Devicetree dtb build rules
From: Rob Herring <robh@kernel.org>
Date: 2018-09-07 12:17:30
Also in:
linux-arm-kernel, linux-kbuild, linux-mips, linuxppc-dev, lkml
On Fri, Sep 7, 2018 at 5:33 AM Masahiro Yamada [off-list ref] wrote:
2018-09-06 8:53 GMT+09:00 Rob Herring [off-list ref]:quoted
There is nothing arch specific about building dtb files other than their location under /arch/*/boot/dts/. Keeping each arch aligned is a pain. The dependencies and supported targets are all slightly different. Also, a cross-compiler for each arch is needed, but really the host compiler preprocessor is perfectly fine for building dtbs. Move the build rules to a common location and remove the arch specific ones. This is done in a single step to avoid warnings about overriding rules. The build dependencies had been a mixture of 'scripts' and/or 'prepare'. These pull in several dependencies some of which need a target compiler (specifically devicetable-offsets.h) and aren't needed to build dtbs. All that is really needed is dtc, so adjust the dependencies to only be dtc. This change enables support 'dtbs_install' on some arches which were missing the target. Cc: Masahiro Yamada <redacted> Cc: Michal Marek <redacted> Cc: Vineet Gupta <redacted> Cc: Russell King <linux@armlinux.org.uk> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <redacted> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Michal Simek <monstr@monstr.eu> Cc: Ralf Baechle <redacted> Cc: Paul Burton <redacted> Cc: James Hogan <jhogan@kernel.org> Cc: Ley Foon Tan <redacted> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <redacted> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Chris Zankel <chris@zankel.net> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: linux-kbuild@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: uclinux-h8-devel@lists.sourceforge.jp Cc: linux-mips@linux-mips.org Cc: nios2-dev@lists.rocketboards.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-xtensa@linux-xtensa.org Signed-off-by: Rob Herring <robh@kernel.org> --- Please ack so I can take the whole series via the DT tree. v2: - Fix $arch/boot/dts path check for out of tree builds - Fix dtc dependency for building built-in dtbs - Fix microblaze built-in dtb buildingThis breaks parallel building because two threads could descend into scripts/dtc at the same time. 'all' depends on both 'scripts' and 'dtc'. * 'scripts' target -- descends into scripts/, then scripts/dtc * 'dtc' target -- descents into scripts/dtc directly
Any suggestions for how to fix given the problem with depending on scripts? I suppose I could make scripts depend on dtc instead, but I'd be back to needing to fix cleaning. Or I could just skip removing the cross compiler dependency for now. Rob