Re: [PATCH v2] dtb: Create a common home for cross-architecture dtsi files.

2015-07-31 Thread Rob Herring
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.

2015-07-31 Thread Rob Herring
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.

2015-07-30 Thread Masahiro Yamada
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.

2015-07-30 Thread Masahiro Yamada
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.

2015-07-29 Thread 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.
>>> >
>>> > 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.

2015-07-29 Thread 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?

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

2015-07-29 Thread Ian Campbell
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.

2015-07-29 Thread Mark Rutland
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.

2015-07-29 Thread Ian Campbell
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.

2015-07-29 Thread Masahiro Yamada
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.

2015-07-29 Thread Rob Herring
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.

2015-07-29 Thread Masahiro Yamada
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.

2015-07-29 Thread Masahiro Yamada
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.

2015-07-29 Thread Mark Rutland
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.

2015-07-29 Thread Ian Campbell
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.

2015-07-29 Thread Ian Campbell
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.

2015-07-27 Thread Mark Rutland
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.

2015-07-27 Thread Mark Rutland
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
 +++