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

