On Fri, May 12, 2017 at 10:34 PM, Olof Johansson <o...@lixom.net> 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 <li...@armlinux.org.uk>
> Reported-by: Omar Sandoval <osan...@osandov.com>
> Cc: Heiko Stuebner <he...@sntech.de>
> Cc: Rob Herring <robh...@kernel.org>
> Cc: Mark Rutland <mark.rutl...@arm.com>
> Cc: Russell King <li...@armlinux.org.uk>
> Cc: Catalin Marinas <catalin.mari...@arm.com>
> Cc: Will Deacon <will.dea...@arm.com>
> Cc: Mikael Starvik <star...@axis.com>
> Cc: Jesper Nilsson <jesper.nils...@axis.com>
> Cc: James Hogan <james.ho...@imgtec.com>
> Cc: Ralf Baechle <r...@linux-mips.org>
> Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org>
> Cc: Paul Mackerras <pau...@samba.org>
> Cc: Michael Ellerman <m...@ellerman.id.au>
> Cc: Frank Rowand <frowand.l...@gmail.com>
> Cc: linux-arch <linux-a...@vger.kernel.org>
> Signed-off-by: Olof Johansson <o...@lixom.net>
> ---
>  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