[U-Boot] [PATCH 6/6] ARM: rmobile: Sync Gen3 defconfigs

Masahiro Yamada yamada.masahiro at socionext.com
Thu Mar 7 13:54:27 UTC 2019


Hi.

Sorry for chiming in late.


On Tue, Mar 5, 2019 at 8:41 AM Eugeniu Rosca <erosca at de.adit-jv.com> wrote:
>
> cc: Masahiro (due to Kconfig topic)
>
> Hi Marek,
>
> On Mon, Mar 04, 2019 at 11:03:56PM +0100, Marek Vasut wrote:
> > On 3/4/19 10:36 PM, Eugeniu Rosca wrote:
> > > Hello Marek,
>
> <-snip->
>
> > > Do you think it would make sense to relocate the common parts into
> > > rcar{3,-gen3}_defconfig and the unique per-board options into config
> > > fragments resembling the current R-Car3 defconfig structure?
> > >
> > > $> u-boot-master (master) ls -1 configs/r8a779* | sed 's/_defconfig/.cfg/'
> > > configs/r8a7795_salvator-x.cfg
> > > configs/r8a7795_ulcb.cfg
> > > configs/r8a77965_salvator-x.cfg
> > > configs/r8a7796_salvator-x.cfg
> > > configs/r8a7796_ulcb.cfg
> > > configs/r8a77970_eagle.cfg
> > > configs/r8a77990_ebisu.cfg
> > > configs/r8a77995_draak.cfg
> > >
> > > In this case, I believe each fragment would contain under 10 Kconfig
> > > symbols and the `make <board>_defconfig` procedure would change
> > > to `make rcar{3,-gen3}_defconfig <board>.cfg`.


In fact, I suggested

 make <soc>_defconfig  <board>.config

some time ago, but I did not get positive feedback.


The reason was, it would be tedious to type a series of config files,
and also it would break the upper-level projects
such as OE recipes, buildroot, etc.





> > I was pondering whether there's some way to factor out the common parts,
> > or maybe even replace some of the defconfigs with a placeholder for
> > compatibility reasons and just go with one full defconfig for all SoCs
> > (H3/M3W/M3N) that can be on such a board.

I manage my boards this way.

I have only three defconfig files:
uniphier_ld4_sld8_defconfig
uniphier_v7_defconfig
uniphier_v8_defconfig


Each defconfig supports multiple boards
by using a different DEVICE_TREE.

If you are interested, doc/README.uniphier
explains it supports much more boards than defconfig.

The drawback of this ways will increase the image size
since it needs to compile-in all necessary
boot-code and drivers.
So, this solution only works when you have enough
memory footprint.


> >
> > I'd still like to be able to do "make soc_board_defconfig ; make"
> > without having to rack my brain which other .cfg files I need to append.
> > I didn't find a good solution for this however. Do you know of one ?

One idea might be,
to hack scripts/kconfig/Makefile
to allow a defconfig to contain shell scripts.


For example, r8a7795_salvator-x_defconfig will look like:

  #!/bin/sh
  $MAKE r8a7795_defconfig
  $MAKE r8a7795_salvator-x.config


Makefile will run it if the first line is shebang,
otherwise handle it as a normal defconfig.


I am not so sure if this is the right thing to do.
So, it should be discussed widely anyway if we try to
introduce something new.

A problem in this way is, as Eugeniu pointed out,
we have no way to sync .config fragment files.


> I think we have proper tools to track the correctness of the defconfig
> files (i.e. savedefconfig Kbuild target), but we don't seem to have
> proper tools to validate configuration fragments. So, I agree the
> contents of the fragments would potentially go wild. I think having
> either a built-in Kbuild/Kconfig procedure or some scripted way to keep
> the fragments under control would greatly increase the confidence in
> using them, but I am unaware of such.

You are right.

We will need something like savedefconfig for .config files,
but we do not have a good tool. At least, I do not know.


Thanks.



> JFTR, rcar-3.9.3.rc1 U-Boot has double the amount of vanilla R-Car3
> defconfigs:
>
> $> u-boot (rcar-3.9.3.rc1) ls -1 configs/r8a779*
> configs/r8a7795_salvator-x_defconfig
> configs/r8a7795_salvator-xs-2x2g_defconfig
> configs/r8a7795_salvator-xs-4x2g_defconfig
> configs/r8a7795_salvator-xs_defconfig
> configs/r8a7795_ulcb-4x2g_defconfig
> configs/r8a7795_ulcb_defconfig
> configs/r8a77965_salvator-x_defconfig
> configs/r8a77965_salvator-xs_defconfig
> configs/r8a77965_ulcb_defconfig
> configs/r8a7796_salvator-x_defconfig
> configs/r8a7796_salvator-xs_defconfig
> configs/r8a7796_ulcb_defconfig
> configs/r8a77970_eagle_defconfig
> configs/r8a77990_ebisu-4d_defconfig
> configs/r8a77990_ebisu_defconfig
> configs/r8a77995_draak_defconfig
>
> So, changing/adding/removing a common option (most of them are) implies
> quite an amount of maintenance effort on our side. I would greatly
> appreciate any ideas how to alleviate that.
>
> >
> > --
> > Best regards,
> > Marek Vasut
>
> Best regards,
> Eugeniu.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot



--
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list