[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