Message ID | 1470213635-6934-1-git-send-email-ijc@hellion.org.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 3, 2016 at 3:40 AM, Ian Campbell <ijc@hellion.org.uk> 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. > > These includes in turn require a skeleton.dtsi to be present, so add one as > a real file (with the same contents as arch/arm) rather than a symlink. I don't follow why skeleton.dtsi is needed. The 32-bit RPi dts files are including it? If so, can we just remove it. We decided skeleton.dtsi was a bad idea. Rob
On Wed, Aug 03, 2016 at 08:13:51AM -0500, Rob Herring wrote: > On Wed, Aug 3, 2016 at 3:40 AM, Ian Campbell <ijc@hellion.org.uk> 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. > > > > These includes in turn require a skeleton.dtsi to be present, so add one as > > a real file (with the same contents as arch/arm) rather than a symlink. > > I don't follow why skeleton.dtsi is needed. The 32-bit RPi dts files > are including it? If so, can we just remove it. We decided > skeleton.dtsi was a bad idea. Yup. I don't want to see skeleton.dtsi reappear, and the necessary fixups to source files are relatively simple. Ian, see commit 3ebee5a2e141496b ("arm64: dts: kill skeleton.dtsi") for the rationale, and hints as to what needs to be fixed up (e.g. if empty memory nodes are required, there should be a comment as to why). Perhaps this is a good time to attack the remaining 32-bit skeleton.dtsi users. I'll take another look come -rc1. Thanks, Mark.
On Wed, 2016-08-03 at 14:30 +0100, Mark Rutland wrote: > On Wed, Aug 03, 2016 at 08:13:51AM -0500, Rob Herring wrote: > > > > > > On Wed, Aug 3, 2016 at 3:40 AM, Ian Campbell <ijc@hellion.org.uk> wrote: > > > > > > These includes in turn require a skeleton.dtsi to be present, so add one as > > > a real file (with the same contents as arch/arm) rather than a symlink. > > > > I don't follow why skeleton.dtsi is needed. The 32-bit RPi dts files > > are including it? Exactly. > > If so, can we just remove it. We decided > > skeleton.dtsi was a bad idea. > > Yup. I don't want to see skeleton.dtsi reappear, and the necessary > fixups to source files are relatively simple. > > Ian, see commit 3ebee5a2e141496b ("arm64: dts: kill skeleton.dtsi") for > the rationale, and hints as to what needs to be fixed up (e.g. if empty > > memory nodes are required, there should be a comment as to why). Understood. I can make the mechanical fix to arch/arm/boot/dts/bcm283x.dtsi (which is linked here as arch/arm64/boot/dts/broadcom/bcm283x.dtsi which causes the need for skeleton.dtsi) but I don't have any R-Pi hardware with which to verify the need (or not) for empty memory nodes etc. > Perhaps this is a good time to attack the remaining 32-bit skeleton.dtsi > > users. I'll take another look come -rc1. linux.git$ git grep skeleton.dtsi -- arch/arm | wc -l 148 linux.git$ Good luck ;-) Ian.
diff --git a/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi new file mode 120000 index 0000000..3937b77 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi @@ -0,0 +1 @@ +../../../../arm/boot/dts/bcm2835-rpi.dtsi \ No newline at end of file diff --git a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts index 6f47dd2..7841b72 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts +++ b/arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts @@ -1,7 +1,7 @@ /dts-v1/; #include "bcm2837.dtsi" -#include "../../../../arm/boot/dts/bcm2835-rpi.dtsi" -#include "../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi" +#include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9514.dtsi" / { compatible = "raspberrypi,3-model-b", "brcm,bcm2837"; diff --git a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi index f2a31d0..8216bbb 100644 --- a/arch/arm64/boot/dts/broadcom/bcm2837.dtsi +++ b/arch/arm64/boot/dts/broadcom/bcm2837.dtsi @@ -1,4 +1,4 @@ -#include "../../../../arm/boot/dts/bcm283x.dtsi" +#include "bcm283x.dtsi" / { compatible = "brcm,bcm2836"; diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi new file mode 120000 index 0000000..dca7c05 --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi @@ -0,0 +1 @@ +../../../../arm/boot/dts/bcm283x-rpi-smsc9514.dtsi \ No newline at end of file diff --git a/arch/arm64/boot/dts/broadcom/bcm283x.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi new file mode 120000 index 0000000..5f54e4c --- /dev/null +++ b/arch/arm64/boot/dts/broadcom/bcm283x.dtsi @@ -0,0 +1 @@ +../../../../arm/boot/dts/bcm283x.dtsi \ No newline at end of file diff --git a/arch/arm64/boot/dts/skeleton.dtsi b/arch/arm64/boot/dts/skeleton.dtsi new file mode 100644 index 0000000..b41d241 --- /dev/null +++ b/arch/arm64/boot/dts/skeleton.dtsi @@ -0,0 +1,13 @@ +/* + * Skeleton device tree; the bare minimum needed to boot; just include and + * add a compatible value. The bootloader will typically populate the memory + * node. + */ + +/ { + #address-cells = <1>; + #size-cells = <1>; + chosen { }; + aliases { }; + memory { device_type = "memory"; reg = <0 0>; }; +};
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. These includes in turn require a skeleton.dtsi to be present, so add one as a real file (with the same contents as arch/arm) rather than a symlink. [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Rob Herring <robh+dt@kernel.org> Cc: Frank Rowand <frowand.list@gmail.com> Cc: Eric Anholt <eric@anholt.net> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Lee Jones <lee@kernel.org> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-rpi-kernel@lists.infradead.org Cc: arm@kernel.org --- arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi | 1 + arch/arm64/boot/dts/broadcom/bcm2837-rpi-3-b.dts | 4 ++-- arch/arm64/boot/dts/broadcom/bcm2837.dtsi | 2 +- arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi | 1 + arch/arm64/boot/dts/broadcom/bcm283x.dtsi | 1 + arch/arm64/boot/dts/skeleton.dtsi | 13 +++++++++++++ 6 files changed, 19 insertions(+), 3 deletions(-) create mode 120000 arch/arm64/boot/dts/broadcom/bcm2835-rpi.dtsi create mode 120000 arch/arm64/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi create mode 120000 arch/arm64/boot/dts/broadcom/bcm283x.dtsi create mode 100644 arch/arm64/boot/dts/skeleton.dtsi