Subject: [PATCH v3 2/2] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm

From: [email-masked] (Olof Johansson)
Date: Sun, 2 Oct 2016 22:57:14 -0700

On Thu, Aug 18, 2016 at 11:42:06AM +0100, Ian Campbell wrote:
> The ../../../arm... style cross-references added by commit 9d56c22a7861
> ("ARM: bcm2835: Add devicetree for the Raspberry Pi 3.") do not work in the
> context of the split device-tree repository[0] (where the directory
> structure differs). As with commit 8ee57b8182c4 ("ARM64: dts: vexpress: Use
> a symlink to vexpress-v2m-rs1.dtsi from arch=arm") use symlinks instead.
> 
> [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/
> 
> Signed-off-by: Ian Campbell <[email-masked]>
> Acked-by: Mark Rutland <[email-masked]>
> Cc: Catalin Marinas <[email-masked]>
> Cc: Will Deacon <[email-masked]>
> Cc: Mark Rutland <[email-masked]>
> Cc: Rob Herring <[email-masked]>
> Cc: Frank Rowand <[email-masked]>
> Cc: Eric Anholt <[email-masked]>
> Cc: Stephen Warren <[email-masked]>
> Cc: Lee Jones <[email-masked]>
> Cc: Gerd Hoffmann <[email-masked]>
> Cc: devicetree at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-rpi-kernel at lists.infradead.org
> Cc: arm at kernel.org
> ---
> v2: No more need for skeleton.dtsi since this was cleaned up in the previous
>     patch
> v3: Collected tags

Hi,

I still think this is fundamentally the wrong approach. We shouldn't have
created these file links in the first place.

I'd rather have something like this in our tree:

arch/arm64/boot/dts/include/arm -> ../../../../arm/boot/dts
arch/arm64/boot/dts/include/arm64 -> ../..
arch/arm/boot/dts/include/arm64 -> ../../../../arm64/boot/dts
arch/arm/boot/dts/include/arm -> ../..

That way you can include by using <arm/bcm2835-rpi.dtsi> instead.

You'll populate another (or the same) directory with links as appropriate
in your out-of-tree version of the DT contents.

No more symlinked files, and still a clear way of showing that you're
referencing contents out of the other architecture.

Considerably cleaner, isn't it?

-Olof