Hi Rob, 2018-09-07 21:17 GMT+09:00 Rob Herring <robh@xxxxxxxxxx>: > On Fri, Sep 7, 2018 at 5:33 AM Masahiro Yamada > <yamada.masahiro@xxxxxxxxxxxxx> wrote: >> >> 2018-09-06 8:53 GMT+09:00 Rob Herring <robh@xxxxxxxxxx>: >> > 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 <yamada.masahiro@xxxxxxxxxxxxx> >> > Cc: Michal Marek <michal.lkml@xxxxxxxxxxx> >> > Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> >> > Cc: Russell King <linux@xxxxxxxxxxxxxxx> >> > Cc: Catalin Marinas <catalin.marinas@xxxxxxx> >> > Cc: Will Deacon <will.deacon@xxxxxxx> >> > Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> >> > Cc: Michal Simek <monstr@xxxxxxxxx> >> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> >> > Cc: Paul Burton <paul.burton@xxxxxxxx> >> > Cc: James Hogan <jhogan@xxxxxxxxxx> >> > Cc: Ley Foon Tan <lftan@xxxxxxxxxx> >> > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> >> > Cc: Paul Mackerras <paulus@xxxxxxxxx> >> > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> >> > Cc: Chris Zankel <chris@xxxxxxxxxx> >> > Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> >> > Cc: linux-kbuild@xxxxxxxxxxxxxxx >> > Cc: linux-snps-arc@xxxxxxxxxxxxxxxxxxx >> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >> > Cc: uclinux-h8-devel@xxxxxxxxxxxxxxxxxxxx >> > Cc: linux-mips@xxxxxxxxxxxxxx >> > Cc: nios2-dev@xxxxxxxxxxxxxxxxxxxxxx >> > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx >> > Cc: linux-xtensa@xxxxxxxxxxxxxxxx >> > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> >> > --- >> > 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 building >> >> >> This 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. How about making 'prepare' depend on 'dtc'? Then, remove subdir-$(CONFIG_DTC) += dtc from scripts/Makefile but, add dtc to subdir- > Or I could just skip removing the > cross compiler dependency for now. I want to build scripts/ without target compiler. modpost is a special host-program that depends on $(CC). I will take a look at it when I find some time. -- Best Regards Masahiro Yamada