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

Simon Glass sjg at chromium.org
Mon Jan 31 00:14:31 CET 2022


Hi Troy,

On Fri, 7 Jan 2022 at 11:33, Troy Kisky <troy.kisky at boundarydevices.com> 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
> >
>
> 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.

>From my side, on the defconfig side, I think it would be OK to allow
those in board directories. I'm not quite sure how much it helps, but
I don't think it would hurt anything, since it is almost as easy to
find *_defconfig as it is to look in the configs/ dir.

I think it would need changes to moveconfig though. Not sure about
anything else.

Regards,
Simon


More information about the U-Boot mailing list