Re: [PATCH] devicetree: Move include prefixes from arch to separate directory

From: Rob Herring
Date: Mon May 15 2017 - 09:01:35 EST


On Fri, May 12, 2017 at 10:34 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
> We use a directory under arch/$ARCH/boot/dts as an include path
> that has links outside of the subtree to find dt-bindings from under
> include/dt-bindings. That's been working well, but new DT architectures
> haven't been adding them by default.
>
> Recently there's been a desire to share some of the DT material between
> arm and arm64, which originally caused developers to create symlinks or
> relative includes between the subtrees. This isn't ideal -- it breaks
> if the DT files aren't stored in the exact same hierarchy as the kernel
> tree, and generally it's just icky.
>
> As a somewhat cleaner solution we decided to add a $ARCH/ prefix link
> once, and allow DTS files to reference dtsi (and dts) files in other
> architectures that way.
>
> Original approach was to create these links under each architecture,
> but it lead to the problem of recursive symlinks.
>
> As a remedy, move the include link directories out of the architecture
> trees into a common location. At the same time, they can now share one
> directory and one dt-bindings/ link as well.
>
> Fixes: 4027494ae6e3 ('ARM: dts: add arm/arm64 include symlinks')
> Reported-by: Russell King <linux@xxxxxxxxxxxxxxx>
> Reported-by: Omar Sandoval <osandov@xxxxxxxxxxx>
> Cc: Heiko Stuebner <heiko@xxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: Russell King <linux@xxxxxxxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Will Deacon <will.deacon@xxxxxxx>
> Cc: Mikael Starvik <starvik@xxxxxxxx>
> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
> Cc: James Hogan <james.hogan@xxxxxxxxxx>
> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> Cc: Frank Rowand <frowand.list@xxxxxxxxx>
> Cc: linux-arch <linux-arch@xxxxxxxxxxxxxxx>
> Signed-off-by: Olof Johansson <olof@xxxxxxxxx>
> ---
> arch/arm/boot/dts/include/arm | 1 -
> arch/arm/boot/dts/include/arm64 | 1 -
> arch/arm/boot/dts/include/dt-bindings | 1 -
> arch/arm64/boot/dts/include/arm | 1 -
> arch/arm64/boot/dts/include/arm64 | 1 -
> arch/arm64/boot/dts/include/dt-bindings | 1 -
> arch/cris/boot/dts/include/dt-bindings | 1 -
> arch/metag/boot/dts/include/dt-bindings | 1 -
> arch/mips/boot/dts/include/dt-bindings | 1 -
> arch/powerpc/boot/dts/include/dt-bindings | 1 -
> scripts/Makefile.lib | 2 +-
> scripts/dtc/include-prefixes/arc | 1 +
> scripts/dtc/include-prefixes/arm | 1 +
> scripts/dtc/include-prefixes/arm64 | 1 +
> scripts/dtc/include-prefixes/c6x | 1 +
> scripts/dtc/include-prefixes/cris | 1 +
> scripts/dtc/include-prefixes/dt-bindings | 1 +
> scripts/dtc/include-prefixes/h8300 | 1 +
> scripts/dtc/include-prefixes/metag | 1 +
> scripts/dtc/include-prefixes/microblaze | 1 +
> scripts/dtc/include-prefixes/mips | 1 +
> scripts/dtc/include-prefixes/nios2 | 1 +
> scripts/dtc/include-prefixes/openrisc | 1 +
> scripts/dtc/include-prefixes/powerpc | 1 +
> scripts/dtc/include-prefixes/sh | 1 +
> scripts/dtc/include-prefixes/xtensa | 1 +

I'd prefer not to mix things in scripts/dtc that aren't the import of
dtc (yes, we do have a few other things already, but they are at least
scripts). Couldn't this go in include/dt-bindings/ instead?

Rob