[PATCH v1 0/5] Move board specific files to board directory
Troy Kisky
troy.kisky at boundarydevices.com
Tue Mar 15 20:08:02 CET 2022
On 2/8/2022 6:30 AM, Tom Rini wrote:
> On Fri, Jan 07, 2022 at 10:33:34AM -0800, Troy Kisky wrote:
>> On 1/7/2022 7:12 AM, Tom Rini wrote:
>>> On Thu, Jan 06, 2022 at 01:14:40PM -0800, Troy Kisky wrote:
>>>> On 12/28/2021 5:11 AM, Tom Rini wrote:
>>>>> On Tue, Dec 28, 2021 at 01:33:05AM -0700, Simon Glass wrote:
>>>>>> Hi Troy,
>>>>>>
>>>>>> On Fri, 17 Dec 2021 at 16:02, Troy Kisky <troy.kisky at boundarydevices.com> wrote:
>>>>>>>
>>>>>>> This series intends to let board specific files live in the boards
>>>>>>> directory. The last patch moves files for nitrogen6x.
>>>>>>> I have tested it with buildman
>>>>>>>
>>>>>>> ./tools/buildman/buildman boundary -b denx_master
>>>>>>>
>>>>>>> But it is likely the more scripts then just tools/genboardscfg.py would
>>>>>>> need to be updated.
>>>>>>>
>>>>>>> Troy Kisky (5):
>>>>>>> kconfig: allow defconfigs to live in board directory
>>>>>>> dts: allow dts files in board directory
>>>>>>> scripts: Makefile.autoconf: allow CONFIG_SYS_CONFIG_NAME file to live
>>>>>>> in board directory
>>>>>>> genboardcfg: allow defconfigs in board directory
>>>>>>> nitrogen6x: move board specific files to nitrogen6x directory
>>>>>>>
>>>>>>> arch/arm/dts/Makefile | 3 --
>>>>>>> board/boundary/nitrogen6x/MAINTAINERS | 13 -------
>>>>>>> board/boundary/nitrogen6x/Makefile | 13 +++++++
>>>>>>> .../nitrogen6x}/imx6dl-nitrogen6x.dts | 0
>>>>>>> .../boundary/nitrogen6x}/imx6q-nitrogen6x.dts | 0
>>>>>>> .../boundary/nitrogen6x}/imx6q-sabrelite.dts | 0
>>>>>>> .../nitrogen6x}/imx6qdl-nitrogen6x.dtsi | 0
>>>>>>> .../nitrogen6x}/imx6qdl-sabrelite.dtsi | 0
>>>>>>> .../nitrogen6x}/mx6qsabrelite_defconfig | 0
>>>>>>> .../nitrogen6x}/nitrogen6dl2g_defconfig | 0
>>>>>>> .../nitrogen6x}/nitrogen6dl_defconfig | 0
>>>>>>> .../nitrogen6x}/nitrogen6q2g_defconfig | 0
>>>>>>> .../boundary/nitrogen6x}/nitrogen6q_defconfig | 0
>>>>>>> .../nitrogen6x}/nitrogen6s1g_defconfig | 0
>>>>>>> .../boundary/nitrogen6x}/nitrogen6s_defconfig | 0
>>>>>>> .../boundary/nitrogen6x}/nitrogen6x.h | 2 +-
>>>>>>> dts/Makefile | 11 +++++-
>>>>>>> scripts/Makefile.autoconf | 9 ++++-
>>>>>>> scripts/Makefile.lib | 1 +
>>>>>>> scripts/kconfig/Makefile | 9 ++++-
>>>>>>> tools/genboardscfg.py | 37 ++++++++++++++++++-
>>>>>>> 21 files changed, 75 insertions(+), 23 deletions(-)
>>>>>>> rename {arch/arm/dts => board/boundary/nitrogen6x}/imx6dl-nitrogen6x.dts (100%)
>>>>>>> rename {arch/arm/dts => board/boundary/nitrogen6x}/imx6q-nitrogen6x.dts (100%)
>>>>>>> rename {arch/arm/dts => board/boundary/nitrogen6x}/imx6q-sabrelite.dts (100%)
>>>>>>> rename {arch/arm/dts => board/boundary/nitrogen6x}/imx6qdl-nitrogen6x.dtsi (100%)
>>>>>>> rename {arch/arm/dts => board/boundary/nitrogen6x}/imx6qdl-sabrelite.dtsi (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/mx6qsabrelite_defconfig (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/nitrogen6dl2g_defconfig (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/nitrogen6dl_defconfig (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/nitrogen6q2g_defconfig (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/nitrogen6q_defconfig (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/nitrogen6s1g_defconfig (100%)
>>>>>>> rename {configs => board/boundary/nitrogen6x}/nitrogen6s_defconfig (100%)
>>>>>>> rename {include/configs => board/boundary/nitrogen6x}/nitrogen6x.h (98%) I'm not about the goal.
>>>>>>
>>>>>> Can you please add a few notes about the motivation for this change?
>>>>>
>>>>> Sorry for the delayed reply here. I'm also not entirely sure this is a
>>>>> good idea. Moving the defconfig files? Maybe. It does make checking
>>>>> all configs a bit more tricky, but indeed the configs directory is
>>>>> unwieldy. Moving the dts files? Those should be a direct cp from the
>>>>> kernel, so that makes things less clear to me. Especially since it will
>>>>> need other common files that will still be elsewhere.
>>>>>
>>>>
>>>> They will still be a direct copy. Notice the 100% rename. Common files still living in the dts
>>>> directory is less clear. I can try to address the "piecemeal building of .dts files" if this
>>>> still has a chance of being accepted.
>>>
>>> So, here's my worry. Today, in an ideal world that we're not yet at, I
>>> could do:
>>> 1. cd ~/src/linux; git checkout v5.16
>>> 2. cd ~/src/u-boot; for DTS in arch/arm/dts/*.dts*; do \
>>> [ -f ~/src/linux/$DTS ] && cp ~/src/linux/$DTS $DTS; done
Perhaps we can mimic Linux's arm/arm64 dts split and make the above work better?
>>>
>>
>> Still, a script could easily check that a dts file exists before overwriting it
>> and find the correct directory to put it in. A little more complicated, but not a lot.
>>
>>
>>> And now we're resynced with v5.16. That gets a lot more complex with
>>> board/*/*/*.dts* too. And since those files should be direct imports
>>> I'm not sure how them residing in board/ helps.
>>
>> One thing that maybe be worth remembering, at one time, Linus was suggesting that dtb's would NOT be
>> a permanent part of Linux. That has probably changed, but maybe eventually, that master repo will be
>> vendor specific.
>>
>>
>>>
>>> But! I can see how having board-u-boot.dtsi exist under board/ might
>>> help. Or at least, having those files reside somewhere that's NOT where
>>> the unmodified imported dts files also live. Long term I think we need
>>> to move towards making it easier to import the dts files, and clearer
>>> that they should be "read only" other than when being resynced, than it
>>> is today.
>>>
>>
>> If you guys are OK with any of the patches, let me know, and I'll submit a restricted series.
>
> Again, sorry for the delay. I just don't think right now these file
> moves are the right path forward. Maybe at some point further down the
> road perhaps, once other cleanups are done and having
> defconfig/u-boot.dtsi/etc in the board directory will be easier to
> maintain long term.
>
More information about the U-Boot
mailing list