mbox series

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

Message ID 20211217230131.2715940-1-troy.kisky@boundarydevices.com
Headers show
Series Move board specific files to board directory | expand

Message

Troy Kisky Dec. 17, 2021, 11:01 p.m. UTC
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%)

Comments

Simon Glass Dec. 28, 2021, 8:33 a.m. UTC | #1
Hi Troy,

On Fri, 17 Dec 2021 at 16:02, Troy Kisky <troy.kisky@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?

Regards,
Simon
Tom Rini Dec. 28, 2021, 1:11 p.m. UTC | #2
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@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.
Troy Kisky Jan. 6, 2022, 9:14 p.m. UTC | #3
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@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.

Thanks
Troy
Tom Rini Jan. 7, 2022, 3:12 p.m. UTC | #4
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@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.
Troy Kisky Jan. 7, 2022, 6:33 p.m. UTC | #5
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@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.

Thanks
Troy
Simon Glass Jan. 30, 2022, 11:14 p.m. UTC | #6
Hi Troy,

On Fri, 7 Jan 2022 at 11:33, Troy Kisky <troy.kisky@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@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
Tom Rini Feb. 8, 2022, 2:30 p.m. UTC | #7
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@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.

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.
Troy Kisky March 15, 2022, 7:08 p.m. UTC | #8
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@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.
>
Tom Rini March 15, 2022, 8:01 p.m. UTC | #9
On Tue, Mar 15, 2022 at 12:08:02PM -0700, Troy Kisky wrote:
> 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@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?

Along with making the distinction between what we're mirroring and what
we're adding more clear yes, that would be viable I think.
Troy Kisky March 15, 2022, 8:23 p.m. UTC | #10
On 3/15/2022 1:01 PM, Tom Rini wrote:
> On Tue, Mar 15, 2022 at 12:08:02PM -0700, Troy Kisky wrote:
>> 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@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?
> 
> Along with making the distinction between what we're mirroring and what
> we're adding more clear yes, that would be viable I think.
> 

Do you envision the *u-boot.dts not moving with the other files ? Or moving to a directory with a
different name? i.e. arm-u-boot, arm64-u-boot, with the same sub-directory structure.
Tom Rini March 16, 2022, 2:48 p.m. UTC | #11
On Tue, Mar 15, 2022 at 01:23:42PM -0700, Troy Kisky wrote:
> On 3/15/2022 1:01 PM, Tom Rini wrote:
> > On Tue, Mar 15, 2022 at 12:08:02PM -0700, Troy Kisky wrote:
> >> 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@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?
> > 
> > Along with making the distinction between what we're mirroring and what
> > we're adding more clear yes, that would be viable I think.
> > 
> 
> Do you envision the *u-boot.dts not moving with the other files ? Or moving to a directory with a
> different name? i.e. arm-u-boot, arm64-u-boot, with the same sub-directory structure.

I'd like to see our -u-boot.dtsi stuff separate, to help with enforcing
the notion that dts files go upstream and come back to us unmodified.
Then we have our own files to update them as needed, but the core dtses
aren't to be changed.  Directory structure really comes down to how to
easily implement the build rules I guess, so likely needing to follow
arm64/dts, etc.