linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm
@ 2016-08-03  8:40 Ian Campbell
  2016-08-03 13:13 ` Rob Herring
  0 siblings, 1 reply; 4+ messages in thread
From: Ian Campbell @ 2016-08-03  8:40 UTC (permalink / raw)
  To: linux-arm-kernel

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 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
---
 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

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>; };
+};
-- 
2.8.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm
  2016-08-03  8:40 [PATCH] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
@ 2016-08-03 13:13 ` Rob Herring
  2016-08-03 13:30   ` Mark Rutland
  0 siblings, 1 reply; 4+ messages in thread
From: Rob Herring @ 2016-08-03 13:13 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm
  2016-08-03 13:13 ` Rob Herring
@ 2016-08-03 13:30   ` Mark Rutland
  2016-08-03 13:45     ` Ian Campbell
  0 siblings, 1 reply; 4+ messages in thread
From: Mark Rutland @ 2016-08-03 13:30 UTC (permalink / raw)
  To: linux-arm-kernel

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm
  2016-08-03 13:30   ` Mark Rutland
@ 2016-08-03 13:45     ` Ian Campbell
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Campbell @ 2016-08-03 13:45 UTC (permalink / raw)
  To: linux-arm-kernel

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-03 13:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-03  8:40 [PATCH] ARM64: dts: bcm: Use a symlink to R-Pi dtsi files from arch=arm Ian Campbell
2016-08-03 13:13 ` Rob Herring
2016-08-03 13:30   ` Mark Rutland
2016-08-03 13:45     ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).