[PATCH v1 0/5] Move board specific files to board directory

Tom Rini trini at konsulko.com
Fri Jan 7 16:12:50 CET 2022


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

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.

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.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20220107/e0f5db8a/attachment.sig>


More information about the U-Boot mailing list