From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH] devicetree: Move include prefixes from arch to separate directory Date: Mon, 15 May 2017 08:01:07 -0500 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: Sender: linux-kernel-owner@vger.kernel.org To: Olof Johansson Cc: "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , Heiko Stuebner , Mark Rutland , Russell King , Catalin Marinas , Will Deacon , Mikael Starvik , Jesper Nilsson , James Hogan , Ralf Baechle , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Frank Rowand , linux-arch List-Id: devicetree@vger.kernel.org On Fri, May 12, 2017 at 10:34 PM, Olof Johansson 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 > Reported-by: Omar Sandoval > Cc: Heiko Stuebner > Cc: Rob Herring > Cc: Mark Rutland > Cc: Russell King > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Mikael Starvik > Cc: Jesper Nilsson > Cc: James Hogan > Cc: Ralf Baechle > Cc: Benjamin Herrenschmidt > Cc: Paul Mackerras > Cc: Michael Ellerman > Cc: Frank Rowand > Cc: linux-arch > Signed-off-by: Olof Johansson > --- > 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