Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Fri, Jul 31, 2015 at 12:46 AM, Masahiro Yamada wrote: > Hi. > > 2015-07-30 10:30 GMT+09:00 Masahiro Yamada : >> Hi, >> >> >> 2015-07-30 0:23 GMT+09:00 Rob Herring : >>> On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell >>> wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: > Hi Ian, > > > 2015-07-27 19:35 GMT+09:00 Ian Campbell : > > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on > > LogicTile Express 20MG" added a new dts file to arch/arm64 which > > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > > .dtsi supplied by arch/arm. > > > > BTW, is there any chance to merge arch/arm64 and arch/arm in the future? In the kernel tree, not likely. It may happen if we ever move dts files out of the kernel. > For example, U-boot supports ARM64/32 in a single arch directory, arch/arm/. > > > I guess, the cross-arch home directory for DTSI would be only used to > share device trees between arm64 and arm32. For SOC files, I think the amount sharing will be limited. While we will probably see very similar SOCs, I'd guess the memory maps and irqs will be different. Sharing is going to be limited to things like daughter boards such as this case. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Fri, Jul 31, 2015 at 12:46 AM, Masahiro Yamada yamada.masah...@socionext.com wrote: Hi. 2015-07-30 10:30 GMT+09:00 Masahiro Yamada yamada.masah...@socionext.com: Hi, 2015-07-30 0:23 GMT+09:00 Rob Herring robherri...@gmail.com: On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell ian.campb...@citrix.com wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. BTW, is there any chance to merge arch/arm64 and arch/arm in the future? In the kernel tree, not likely. It may happen if we ever move dts files out of the kernel. For example, U-boot supports ARM64/32 in a single arch directory, arch/arm/. I guess, the cross-arch home directory for DTSI would be only used to share device trees between arm64 and arm32. For SOC files, I think the amount sharing will be limited. While we will probably see very similar SOCs, I'd guess the memory maps and irqs will be different. Sharing is going to be limited to things like daughter boards such as this case. Rob -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi. 2015-07-30 10:30 GMT+09:00 Masahiro Yamada : > Hi, > > > 2015-07-30 0:23 GMT+09:00 Rob Herring : >> On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell >> wrote: >>> On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell : > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on > LogicTile Express 20MG" added a new dts file to arch/arm64 which > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > .dtsi supplied by arch/arm. BTW, is there any chance to merge arch/arm64 and arch/arm in the future? For example, U-boot supports ARM64/32 in a single arch directory, arch/arm/. I guess, the cross-arch home directory for DTSI would be only used to share device trees between arm64 and arm32. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi. 2015-07-30 10:30 GMT+09:00 Masahiro Yamada yamada.masah...@socionext.com: Hi, 2015-07-30 0:23 GMT+09:00 Rob Herring robherri...@gmail.com: On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell ian.campb...@citrix.com wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. BTW, is there any chance to merge arch/arm64 and arch/arm in the future? For example, U-boot supports ARM64/32 in a single arch directory, arch/arm/. I guess, the cross-arch home directory for DTSI would be only used to share device trees between arm64 and arm32. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi, 2015-07-30 0:23 GMT+09:00 Rob Herring : > On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell wrote: >> On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: >>> Hi Ian, >>> >>> >>> 2015-07-27 19:35 GMT+09:00 Ian Campbell : >>> > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on >>> > LogicTile Express 20MG" added a new dts file to arch/arm64 which >>> > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a >>> > .dtsi supplied by arch/arm. >>> > >>> > Unfortunately this causes some issues for the split device tree >>> > repository[0], since things get moved around there. In that context >>> > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts >>> > while the include is at src/arm/vexpress-v2m-rs1.dtsi. >>> > >>> > The sharing of the .dtsi is legitimate since the baseboard is the same >>> > for various vexpress systems whatever processor they use. >>> > >>> > Rather than using ../../ tricks to pickup .dtsi files from another >>> > arch this patch creates a new directory include/dt-dtsi as a >>> > home for such cross-arch .dtsi files, arranges for it to be in the >>> > include path when the .dts files are processed by cpp and switches the >>> >>> >>> "include/dt-dtsi/" can be referenced from normal C sources. >>> >>> I think another possible home for cross-arch DTSI is "kernel/dts/". >>> This directory can be hidden from C sources. >> >> I suppose, I don't really mind and will follow the direction of the other >> DTB maintainers. It doesn't seem like a big deal to me. > > Seems fine to me. We might think of other things to put here that are > not includes. Overlays perhaps? Putting device trees below "include/" seems weird to me. I thought, kernel/ is a place where we put something common among architectures. "kernel/configs/" was created as a home for cross-arch config fragments. arch/${ARCH}/configs/ - arch-specific *_defconfig and *.config kernel/configs/- arch-common *.config Likewise, arch/${ARCH}/boot/dts - arch-specific *.dts and *.dtsi kernel/dts - arch-common *.dtsi This is just a matter of preference, though. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell wrote: > On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: >> Hi Ian, >> >> >> 2015-07-27 19:35 GMT+09:00 Ian Campbell : >> > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on >> > LogicTile Express 20MG" added a new dts file to arch/arm64 which >> > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a >> > .dtsi supplied by arch/arm. >> > >> > Unfortunately this causes some issues for the split device tree >> > repository[0], since things get moved around there. In that context >> > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts >> > while the include is at src/arm/vexpress-v2m-rs1.dtsi. >> > >> > The sharing of the .dtsi is legitimate since the baseboard is the same >> > for various vexpress systems whatever processor they use. >> > >> > Rather than using ../../ tricks to pickup .dtsi files from another >> > arch this patch creates a new directory include/dt-dtsi as a >> > home for such cross-arch .dtsi files, arranges for it to be in the >> > include path when the .dts files are processed by cpp and switches the >> >> >> "include/dt-dtsi/" can be referenced from normal C sources. >> >> I think another possible home for cross-arch DTSI is "kernel/dts/". >> This directory can be hidden from C sources. > > I suppose, I don't really mind and will follow the direction of the other > DTB maintainers. It doesn't seem like a big deal to me. Seems fine to me. We might think of other things to put here that are not includes. Overlays perhaps? > >> >@@ -223,7 +223,7 @@ Example of a VE tile description (simplified) >> > /* Active high IRQ 0 is connected to GIC's SPI0 */ >> > interrupt-map = <0 0 0 0 0 4>; >> > >> > - /include/ "vexpress-v2m-rs1.dtsi" >> > + #include >> > }; >> > }; >> >> >> >> You do not have to replace /include/ with #include, >> if you add the include path for DTC. > > Ah, I looked for this but -i is not documented in the man page. > > Is there any reason to prefer one over the other? Yes, so you don't force the use of the C preprocessor. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, 2015-07-29 at 14:27 +0100, Mark Rutland wrote: > On Wed, Jul 29, 2015 at 02:22:54PM +0100, Ian Campbell wrote: > > On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: > > > Hi Ian, > > > > > > > > > 2015-07-27 19:35 GMT+09:00 Ian Campbell : > > > > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 > > > > on > > > > LogicTile Express 20MG" added a new dts file to arch/arm64 which > > > > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > > > > .dtsi supplied by arch/arm. > > > > > > > > Unfortunately this causes some issues for the split device tree > > > > repository[0], since things get moved around there. In that context > > > > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts > > > > while the include is at src/arm/vexpress-v2m-rs1.dtsi. > > > > > > > > The sharing of the .dtsi is legitimate since the baseboard is the > > > > same > > > > for various vexpress systems whatever processor they use. > > > > > > > > Rather than using ../../ tricks to pickup .dtsi files from another > > > > arch this patch creates a new directory include/dt-dtsi as a > > > > home for such cross-arch .dtsi files, arranges for it to be in the > > > > include path when the .dts files are processed by cpp and switches > > > > the > > > > > > > > > "include/dt-dtsi/" can be referenced from normal C sources. > > > > > > I think another possible home for cross-arch DTSI is "kernel/dts/". > > > This directory can be hidden from C sources. > > > > I suppose, I don't really mind and will follow the direction of the > > other > > DTB maintainers. It doesn't seem like a big deal to me. > > I don't really have a preference either way. I'm inclined to leave it, "visible to C sources" doesn't seem like that much of an issue and IMHO the cure (kernel/dts/...) is worse than the disease. @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) > > > > /* Active high IRQ 0 is connected to GIC's SPI0 */ > > > > interrupt-map = <0 0 0 0 0 4>; > > > > > > > > - /include/ "vexpress-v2m-rs1.dtsi" > > > > + #include > > > > }; > > > > }; > > > > > > > > > > > > You do not have to replace /include/ with #include, > > > if you add the include path for DTC. > > > > Ah, I looked for this but -i is not documented in the man page. > > > > Is there any reason to prefer one over the other? > > #include allows you to use CPP in the file you're including, /include/ > does not. > > I would imagine we have to use #include in case the dtsi itself has > #include statements... If it did, yes. I don't think vexpress-v2m-rs1.dtsi does, since it is using /include/ today. I'm inclined to switch back to /include/ unless someone objects. > > > Please add include path for DTC too > > > so that both /include/ and #include are available. > > ... though that does not preclude adding it to the path for /include/. Indeed, I've done that locally already. Ian. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, Jul 29, 2015 at 02:22:54PM +0100, Ian Campbell wrote: > On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: > > Hi Ian, > > > > > > 2015-07-27 19:35 GMT+09:00 Ian Campbell : > > > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on > > > LogicTile Express 20MG" added a new dts file to arch/arm64 which > > > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > > > .dtsi supplied by arch/arm. > > > > > > Unfortunately this causes some issues for the split device tree > > > repository[0], since things get moved around there. In that context > > > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts > > > while the include is at src/arm/vexpress-v2m-rs1.dtsi. > > > > > > The sharing of the .dtsi is legitimate since the baseboard is the same > > > for various vexpress systems whatever processor they use. > > > > > > Rather than using ../../ tricks to pickup .dtsi files from another > > > arch this patch creates a new directory include/dt-dtsi as a > > > home for such cross-arch .dtsi files, arranges for it to be in the > > > include path when the .dts files are processed by cpp and switches the > > > > > > "include/dt-dtsi/" can be referenced from normal C sources. > > > > I think another possible home for cross-arch DTSI is "kernel/dts/". > > This directory can be hidden from C sources. > > I suppose, I don't really mind and will follow the direction of the other > DTB maintainers. It doesn't seem like a big deal to me. I don't really have a preference either way. > > >@@ -223,7 +223,7 @@ Example of a VE tile description (simplified) > > > /* Active high IRQ 0 is connected to GIC's SPI0 */ > > > interrupt-map = <0 0 0 0 0 4>; > > > > > > - /include/ "vexpress-v2m-rs1.dtsi" > > > + #include > > > }; > > > }; > > > > > > > > You do not have to replace /include/ with #include, > > if you add the include path for DTC. > > Ah, I looked for this but -i is not documented in the man page. > > Is there any reason to prefer one over the other? #include allows you to use CPP in the file you're including, /include/ does not. I would imagine we have to use #include in case the dtsi itself has #include statements... > > Please add include path for DTC too > > so that both /include/ and #include are available. ... though that does not preclude adding it to the path for /include/. Thanks, Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: > Hi Ian, > > > 2015-07-27 19:35 GMT+09:00 Ian Campbell : > > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on > > LogicTile Express 20MG" added a new dts file to arch/arm64 which > > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > > .dtsi supplied by arch/arm. > > > > Unfortunately this causes some issues for the split device tree > > repository[0], since things get moved around there. In that context > > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts > > while the include is at src/arm/vexpress-v2m-rs1.dtsi. > > > > The sharing of the .dtsi is legitimate since the baseboard is the same > > for various vexpress systems whatever processor they use. > > > > Rather than using ../../ tricks to pickup .dtsi files from another > > arch this patch creates a new directory include/dt-dtsi as a > > home for such cross-arch .dtsi files, arranges for it to be in the > > include path when the .dts files are processed by cpp and switches the > > > "include/dt-dtsi/" can be referenced from normal C sources. > > I think another possible home for cross-arch DTSI is "kernel/dts/". > This directory can be hidden from C sources. I suppose, I don't really mind and will follow the direction of the other DTB maintainers. It doesn't seem like a big deal to me. > >@@ -223,7 +223,7 @@ Example of a VE tile description (simplified) > > /* Active high IRQ 0 is connected to GIC's SPI0 */ > > interrupt-map = <0 0 0 0 0 4>; > > > > - /include/ "vexpress-v2m-rs1.dtsi" > > + #include > > }; > > }; > > > > You do not have to replace /include/ with #include, > if you add the include path for DTC. Ah, I looked for this but -i is not documented in the man page. Is there any reason to prefer one over the other? > Please add include path for DTC too > so that both /include/ and #include are available. OK. I shall await further feedback on what path to use before spinning a v3. Ian. > > > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index 79e8661..fc6c06c 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -285,7 +285,7 @@ quiet_cmd_dtc = DTC $@ > cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ > $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; > \ > $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \ > - -i $(dir $<) $(DTC_FLAGS) \ > + -i $(dir $<) -i $(srctree)/kernel/dts $(DTC_FLAGS) \ > -d $(depfile).dtc.tmp $(dtc-tmp) ; \ > cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell : > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on > LogicTile Express 20MG" added a new dts file to arch/arm64 which > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > .dtsi supplied by arch/arm. > > Unfortunately this causes some issues for the split device tree > repository[0], since things get moved around there. In that context > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts > while the include is at src/arm/vexpress-v2m-rs1.dtsi. > > The sharing of the .dtsi is legitimate since the baseboard is the same > for various vexpress systems whatever processor they use. > > Rather than using ../../ tricks to pickup .dtsi files from another > arch this patch creates a new directory include/dt-dtsi as a > home for such cross-arch .dtsi files, arranges for it to be in the > include path when the .dts files are processed by cpp and switches the "include/dt-dtsi/" can be referenced from normal C sources. I think another possible home for cross-arch DTSI is "kernel/dts/". This directory can be hidden from C sources. > .dts files to use cpp #include instead of /include/. The dtsi file > itself is moved into a vendor subdir in this case "arm" (the vendor, > not the ARCH=). > > [0] > https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ > > Signed-off-by: Ian Campbell > Cc: Rob Herring > Cc: Pawel Moll > Cc: Mark Rutland > Cc: Kumar Gala > Cc: Liviu Dudau > Cc: Sudeep Holla > Cc: Lorenzo Pieralisi > Cc: Russell King > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Kristina Martsenko > Cc: Kevin Hilman > Cc: devicet...@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-arm-ker...@lists.infradead.org > Cc: linux-kbu...@vger.kernel.org > --- > v2: Move to include/dt-dtsi and introduce a per-vendor subdirectory. > --- > Documentation/devicetree/bindings/arm/vexpress.txt | 4 ++-- > arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 2 +- > arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 2 +- > arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 2 +- > arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts | 2 +- > {arch/arm/boot/dts => include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi | 0 > scripts/Makefile.lib | 1 + > 7 files changed, 7 insertions(+), 6 deletions(-) > rename {arch/arm/boot/dts => include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi > (100%) > > diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt > b/Documentation/devicetree/bindings/arm/vexpress.txt > index 39844cd..dccf570 100644 > --- a/Documentation/devicetree/bindings/arm/vexpress.txt > +++ b/Documentation/devicetree/bindings/arm/vexpress.txt > @@ -7,7 +7,7 @@ peripherals. Processor and RAM "live" on the tiles. > > The motherboard and each core tile should be described by a separate > Device Tree source file, with the tile's description including > -the motherboard file using a /include/ directive. As the motherboard > +the motherboard file using a #include directive. As the motherboard > can be initialized in one of two different configurations ("memory > maps"), care must be taken to include the correct one. > > @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) > /* Active high IRQ 0 is connected to GIC's SPI0 */ > interrupt-map = <0 0 0 0 0 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; You do not have to replace /include/ with #include, if you add the include path for DTC. > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > index 9420053..7ea7054 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > @@ -278,6 +278,6 @@ > <0 0 41 0 41 4>, > <0 0 42 0 42 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > index 17f63f7..afe997a4 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > @@ -636,6 +636,6 @@ > <0 0 41 0 41 4>, > <0 0 42 0 42 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > index d2709b7..498181c 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > @@ -248,6 +248,6 @@ > <0 0 41 0 41 4>, > <0 0 42 0 42 4>; >
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell ian.campb...@citrix.com wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the include/dt-dtsi/ can be referenced from normal C sources. I think another possible home for cross-arch DTSI is kernel/dts/. This directory can be hidden from C sources. I suppose, I don't really mind and will follow the direction of the other DTB maintainers. It doesn't seem like a big deal to me. Seems fine to me. We might think of other things to put here that are not includes. Overlays perhaps? @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) /* Active high IRQ 0 is connected to GIC's SPI0 */ interrupt-map = 0 0 0 gic 0 0 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; You do not have to replace /include/ with #include, if you add the include path for DTC. Ah, I looked for this but -i is not documented in the man page. Is there any reason to prefer one over the other? Yes, so you don't force the use of the C preprocessor. Rob -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi, 2015-07-30 0:23 GMT+09:00 Rob Herring robherri...@gmail.com: On Wed, Jul 29, 2015 at 8:22 AM, Ian Campbell ian.campb...@citrix.com wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the include/dt-dtsi/ can be referenced from normal C sources. I think another possible home for cross-arch DTSI is kernel/dts/. This directory can be hidden from C sources. I suppose, I don't really mind and will follow the direction of the other DTB maintainers. It doesn't seem like a big deal to me. Seems fine to me. We might think of other things to put here that are not includes. Overlays perhaps? Putting device trees below include/ seems weird to me. I thought, kernel/ is a place where we put something common among architectures. kernel/configs/ was created as a home for cross-arch config fragments. arch/${ARCH}/configs/ - arch-specific *_defconfig and *.config kernel/configs/- arch-common *.config Likewise, arch/${ARCH}/boot/dts - arch-specific *.dts and *.dtsi kernel/dts - arch-common *.dtsi This is just a matter of preference, though. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the include/dt-dtsi/ can be referenced from normal C sources. I think another possible home for cross-arch DTSI is kernel/dts/. This directory can be hidden from C sources. .dts files to use cpp #include instead of /include/. The dtsi file itself is moved into a vendor subdir in this case arm (the vendor, not the ARCH=). [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ Signed-off-by: Ian Campbell ian.campb...@citrix.com Cc: Rob Herring robh...@kernel.org Cc: Pawel Moll pawel.m...@arm.com Cc: Mark Rutland mark.rutl...@arm.com Cc: Kumar Gala ga...@codeaurora.org Cc: Liviu Dudau liviu.du...@arm.com Cc: Sudeep Holla sudeep.ho...@arm.com Cc: Lorenzo Pieralisi lorenzo.pieral...@arm.com Cc: Russell King li...@arm.linux.org.uk Cc: Catalin Marinas catalin.mari...@arm.com Cc: Will Deacon will.dea...@arm.com Cc: Kristina Martsenko kristina.martse...@arm.com Cc: Kevin Hilman khil...@linaro.org Cc: devicet...@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kbu...@vger.kernel.org --- v2: Move to include/dt-dtsi and introduce a per-vendor subdirectory. --- Documentation/devicetree/bindings/arm/vexpress.txt | 4 ++-- arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 2 +- arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 2 +- arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 2 +- arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts | 2 +- {arch/arm/boot/dts = include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi | 0 scripts/Makefile.lib | 1 + 7 files changed, 7 insertions(+), 6 deletions(-) rename {arch/arm/boot/dts = include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi (100%) diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt b/Documentation/devicetree/bindings/arm/vexpress.txt index 39844cd..dccf570 100644 --- a/Documentation/devicetree/bindings/arm/vexpress.txt +++ b/Documentation/devicetree/bindings/arm/vexpress.txt @@ -7,7 +7,7 @@ peripherals. Processor and RAM live on the tiles. The motherboard and each core tile should be described by a separate Device Tree source file, with the tile's description including -the motherboard file using a /include/ directive. As the motherboard +the motherboard file using a #include directive. As the motherboard can be initialized in one of two different configurations (memory maps), care must be taken to include the correct one. @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) /* Active high IRQ 0 is connected to GIC's SPI0 */ interrupt-map = 0 0 0 gic 0 0 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; You do not have to replace /include/ with #include, if you add the include path for DTC. diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts index 9420053..7ea7054 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts @@ -278,6 +278,6 @@ 0 0 41 gic 0 41 4, 0 0 42 gic 0 42 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts index 17f63f7..afe997a4 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts @@ -636,6 +636,6 @@ 0 0 41 gic 0 41 4, 0 0 42 gic 0 42 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts index
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, Jul 29, 2015 at 02:22:54PM +0100, Ian Campbell wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the include/dt-dtsi/ can be referenced from normal C sources. I think another possible home for cross-arch DTSI is kernel/dts/. This directory can be hidden from C sources. I suppose, I don't really mind and will follow the direction of the other DTB maintainers. It doesn't seem like a big deal to me. I don't really have a preference either way. @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) /* Active high IRQ 0 is connected to GIC's SPI0 */ interrupt-map = 0 0 0 gic 0 0 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; You do not have to replace /include/ with #include, if you add the include path for DTC. Ah, I looked for this but -i is not documented in the man page. Is there any reason to prefer one over the other? #include allows you to use CPP in the file you're including, /include/ does not. I would imagine we have to use #include in case the dtsi itself has #include statements... Please add include path for DTC too so that both /include/ and #include are available. ... though that does not preclude adding it to the path for /include/. Thanks, Mark. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the include/dt-dtsi/ can be referenced from normal C sources. I think another possible home for cross-arch DTSI is kernel/dts/. This directory can be hidden from C sources. I suppose, I don't really mind and will follow the direction of the other DTB maintainers. It doesn't seem like a big deal to me. @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) /* Active high IRQ 0 is connected to GIC's SPI0 */ interrupt-map = 0 0 0 gic 0 0 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; You do not have to replace /include/ with #include, if you add the include path for DTC. Ah, I looked for this but -i is not documented in the man page. Is there any reason to prefer one over the other? Please add include path for DTC too so that both /include/ and #include are available. OK. I shall await further feedback on what path to use before spinning a v3. Ian. diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 79e8661..fc6c06c 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -285,7 +285,7 @@ quiet_cmd_dtc = DTC $@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $ ; \ $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \ - -i $(dir $) $(DTC_FLAGS) \ + -i $(dir $) -i $(srctree)/kernel/dts $(DTC_FLAGS) \ -d $(depfile).dtc.tmp $(dtc-tmp) ; \ cat $(depfile).pre.tmp $(depfile).dtc.tmp $(depfile) -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
On Wed, 2015-07-29 at 14:27 +0100, Mark Rutland wrote: On Wed, Jul 29, 2015 at 02:22:54PM +0100, Ian Campbell wrote: On Wed, 2015-07-29 at 20:07 +0900, Masahiro Yamada wrote: Hi Ian, 2015-07-27 19:35 GMT+09:00 Ian Campbell ian.campb...@citrix.com: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the include/dt-dtsi/ can be referenced from normal C sources. I think another possible home for cross-arch DTSI is kernel/dts/. This directory can be hidden from C sources. I suppose, I don't really mind and will follow the direction of the other DTB maintainers. It doesn't seem like a big deal to me. I don't really have a preference either way. I'm inclined to leave it, visible to C sources doesn't seem like that much of an issue and IMHO the cure (kernel/dts/...) is worse than the disease. @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) /* Active high IRQ 0 is connected to GIC's SPI0 */ interrupt-map = 0 0 0 gic 0 0 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; You do not have to replace /include/ with #include, if you add the include path for DTC. Ah, I looked for this but -i is not documented in the man page. Is there any reason to prefer one over the other? #include allows you to use CPP in the file you're including, /include/ does not. I would imagine we have to use #include in case the dtsi itself has #include statements... If it did, yes. I don't think vexpress-v2m-rs1.dtsi does, since it is using /include/ today. I'm inclined to switch back to /include/ unless someone objects. Please add include path for DTC too so that both /include/ and #include are available. ... though that does not preclude adding it to the path for /include/. Indeed, I've done that locally already. Ian. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi, On Mon, Jul 27, 2015 at 11:35:43AM +0100, Ian Campbell wrote: > Commit 9ccd608070b6 "arm64: dts: add device tree for ARM SMM-A53x2 on > LogicTile Express 20MG" added a new dts file to arch/arm64 which > included "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi", i.e. a > .dtsi supplied by arch/arm. > > Unfortunately this causes some issues for the split device tree > repository[0], since things get moved around there. In that context > the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts > while the include is at src/arm/vexpress-v2m-rs1.dtsi. > > The sharing of the .dtsi is legitimate since the baseboard is the same > for various vexpress systems whatever processor they use. > > Rather than using ../../ tricks to pickup .dtsi files from another > arch this patch creates a new directory include/dt-dtsi as a > home for such cross-arch .dtsi files, arranges for it to be in the > include path when the .dts files are processed by cpp and switches the > .dts files to use cpp #include instead of /include/. The dtsi file > itself is moved into a vendor subdir in this case "arm" (the vendor, > not the ARCH=). > > [0] > https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ > > Signed-off-by: Ian Campbell I'm happy with the general idea, and having a separate directory for dtsis, with vendor subdirs makes sense to me. So FWIW: Acked-by: Mark Rutland Mark. > Cc: Rob Herring > Cc: Pawel Moll > Cc: Mark Rutland > Cc: Kumar Gala > Cc: Liviu Dudau > Cc: Sudeep Holla > Cc: Lorenzo Pieralisi > Cc: Russell King > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Kristina Martsenko > Cc: Kevin Hilman > Cc: devicet...@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-arm-ker...@lists.infradead.org > Cc: linux-kbu...@vger.kernel.org > --- > v2: Move to include/dt-dtsi and introduce a per-vendor subdirectory. > --- > Documentation/devicetree/bindings/arm/vexpress.txt | 4 ++-- > arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 2 +- > arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 2 +- > arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 2 +- > arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts | 2 +- > {arch/arm/boot/dts => include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi | 0 > scripts/Makefile.lib | 1 + > 7 files changed, 7 insertions(+), 6 deletions(-) > rename {arch/arm/boot/dts => include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi > (100%) > > diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt > b/Documentation/devicetree/bindings/arm/vexpress.txt > index 39844cd..dccf570 100644 > --- a/Documentation/devicetree/bindings/arm/vexpress.txt > +++ b/Documentation/devicetree/bindings/arm/vexpress.txt > @@ -7,7 +7,7 @@ peripherals. Processor and RAM "live" on the tiles. > > The motherboard and each core tile should be described by a separate > Device Tree source file, with the tile's description including > -the motherboard file using a /include/ directive. As the motherboard > +the motherboard file using a #include directive. As the motherboard > can be initialized in one of two different configurations ("memory > maps"), care must be taken to include the correct one. > > @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) > /* Active high IRQ 0 is connected to GIC's SPI0 */ > interrupt-map = <0 0 0 0 0 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; > > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > index 9420053..7ea7054 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > @@ -278,6 +278,6 @@ > <0 0 41 0 41 4>, > <0 0 42 0 42 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > index 17f63f7..afe997a4 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > @@ -636,6 +636,6 @@ > <0 0 41 0 41 4>, > <0 0 42 0 42 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > index d2709b7..498181c 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > @@ -248,6 +248,6 @@ > <0 0 41 0 41 4>, > <0 0 42 0 42 4>; > > - /include/ "vexpress-v2m-rs1.dtsi" > + #include > }; > }; > diff --git
Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.
Hi, On Mon, Jul 27, 2015 at 11:35:43AM +0100, Ian Campbell wrote: Commit 9ccd608070b6 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG added a new dts file to arch/arm64 which included ../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi, i.e. a .dtsi supplied by arch/arm. Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there. In that context the new .dts ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi. The sharing of the .dtsi is legitimate since the baseboard is the same for various vexpress systems whatever processor they use. Rather than using ../../ tricks to pickup .dtsi files from another arch this patch creates a new directory include/dt-dtsi as a home for such cross-arch .dtsi files, arranges for it to be in the include path when the .dts files are processed by cpp and switches the .dts files to use cpp #include instead of /include/. The dtsi file itself is moved into a vendor subdir in this case arm (the vendor, not the ARCH=). [0] https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/ Signed-off-by: Ian Campbell ian.campb...@citrix.com I'm happy with the general idea, and having a separate directory for dtsis, with vendor subdirs makes sense to me. So FWIW: Acked-by: Mark Rutland mark.rutl...@arm.com Mark. Cc: Rob Herring robh...@kernel.org Cc: Pawel Moll pawel.m...@arm.com Cc: Mark Rutland mark.rutl...@arm.com Cc: Kumar Gala ga...@codeaurora.org Cc: Liviu Dudau liviu.du...@arm.com Cc: Sudeep Holla sudeep.ho...@arm.com Cc: Lorenzo Pieralisi lorenzo.pieral...@arm.com Cc: Russell King li...@arm.linux.org.uk Cc: Catalin Marinas catalin.mari...@arm.com Cc: Will Deacon will.dea...@arm.com Cc: Kristina Martsenko kristina.martse...@arm.com Cc: Kevin Hilman khil...@linaro.org Cc: devicet...@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kbu...@vger.kernel.org --- v2: Move to include/dt-dtsi and introduce a per-vendor subdirectory. --- Documentation/devicetree/bindings/arm/vexpress.txt | 4 ++-- arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 2 +- arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 2 +- arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 2 +- arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts | 2 +- {arch/arm/boot/dts = include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi | 0 scripts/Makefile.lib | 1 + 7 files changed, 7 insertions(+), 6 deletions(-) rename {arch/arm/boot/dts = include/dt-dtsi/arm}/vexpress-v2m-rs1.dtsi (100%) diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt b/Documentation/devicetree/bindings/arm/vexpress.txt index 39844cd..dccf570 100644 --- a/Documentation/devicetree/bindings/arm/vexpress.txt +++ b/Documentation/devicetree/bindings/arm/vexpress.txt @@ -7,7 +7,7 @@ peripherals. Processor and RAM live on the tiles. The motherboard and each core tile should be described by a separate Device Tree source file, with the tile's description including -the motherboard file using a /include/ directive. As the motherboard +the motherboard file using a #include directive. As the motherboard can be initialized in one of two different configurations (memory maps), care must be taken to include the correct one. @@ -223,7 +223,7 @@ Example of a VE tile description (simplified) /* Active high IRQ 0 is connected to GIC's SPI0 */ interrupt-map = 0 0 0 gic 0 0 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts index 9420053..7ea7054 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts @@ -278,6 +278,6 @@ 0 0 41 gic 0 41 4, 0 0 42 gic 0 42 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts index 17f63f7..afe997a4 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts @@ -636,6 +636,6 @@ 0 0 41 gic 0 41 4, 0 0 42 gic 0 42 4; - /include/ vexpress-v2m-rs1.dtsi + #include arm/vexpress-v2m-rs1.dtsi }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts index d2709b7..498181c 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts +++