On Fri, May 12, 2017 at 10:34 PM, Olof Johansson <[email protected]> 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 <[email protected]>
> Reported-by: Omar Sandoval <[email protected]>
> Cc: Heiko Stuebner <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Mark Rutland <[email protected]>
> Cc: Russell King <[email protected]>
> Cc: Catalin Marinas <[email protected]>
> Cc: Will Deacon <[email protected]>
> Cc: Mikael Starvik <[email protected]>
> Cc: Jesper Nilsson <[email protected]>
> Cc: James Hogan <[email protected]>
> Cc: Ralf Baechle <[email protected]>
> Cc: Benjamin Herrenschmidt <[email protected]>
> Cc: Paul Mackerras <[email protected]>
> Cc: Michael Ellerman <[email protected]>
> Cc: Frank Rowand <[email protected]>
> Cc: linux-arch <[email protected]>
> Signed-off-by: Olof Johansson <[email protected]>
> ---
>  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

Reply via email to