Re: Devicetree Workshop Follow Up: Adding hierarchy to arch/arm/boot/dts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mon, Oct 30, 2017 at 1:14 PM, Moritz Fischer <mdf@xxxxxxxxxx> wrote:
> Hi Russell,
>
> On Mon, Oct 30, 2017 at 05:09:17PM +0000, Russell King - ARM Linux wrote:
>> On Mon, Oct 30, 2017 at 09:46:26AM -0700, Moritz Fischer wrote:
>> > Hi all,
>> >
>> > as discussed in Prague last week, here's my follow up.
>> > A bit of background again as refresher: Some time ago I submitted a
>> > patchset adding dts for some of upcoming boards ([1]).
>> > Arguments brought up against merging it were that we have too many Zynq
>> > based boards already in tree.

First I've seen this. Are the revX versions long lived? I could see
some pushback on having multiple revisions, but adding the board
itself seems silly.

>> > During the Devicetree Workshop we had a brief discussion and most people
>> > in the room seemed to be ok with adding the boards, someone suggested
>> > (Arnd?) to add vendor subdirectories like in arm64, i.e. something
>> > like:
>> >
>> > arch/arm/boot/dts/xilinx/ni/<board>
>> >
>> > where Xilinx would be the SoC vendor and NI the integrator.
>>
>> I utterly hate deep levels of directories, but I think the ARM64
>> solution where we /generally/ have one level of additional
>> directories under dts is a good compromise.  With 1640 files in
>> arch/arm/boot/dts, it does need splitting up.

Agreed.

>> I'm not sure that splitting it by "integrator" is a good idea
>> for a single level of directory - using the SoC, SoC group, or
>> SoC manufacturer is better.  It needs to be a balance between
>> number of subdirectories and number of files in the subdirectory,
>> so using guidance and not setting it as a hard and fast rule
>> makes sense too.  What is right for one SoC group may not be
>> right for another group of SoCs.
>
> Ok so in our case that would be:
>
> arch/arm/boot/dts/zynq-*.dts -> arch/arm/boot/dts/xilinx

Yes. I would like the rule to be "use the SoC vendor prefix".
Unfortunately, we haven't quite followed that for arm64 with things
like exynos and freescale.

> or:
>
> arch/arm/boot/dts/zynq-*.dts -> arch/arm/boot/dts/zynq

No.

>>
>> What I think we should avoid is having to needlessly descend into
>> all of the subdirectories, so it needs to be based around the
>> Kconfig symbols we're already using.
>
> So as example only add the arch/arm/boot/dts/xilinx subdirectory based on
> CONFIG_ARCH_ZYNQ?

No. Look at arch/arm64/boot/dts/Makefile and you will see why that doesn't work.

If this can be entirely scripted, I would suggest writing the script
and we provide the script to Linus to run just before an -rc1 (or
arm-soc folks can run it as long as all dts changes go thru their
tree). Also, pay attention that we don't break the
devicetree-rebasing.git tree.

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux