[U-Boot] [PATCH 6/6] ARM: rmobile: Sync Gen3 defconfigs
Marek Vasut
marek.vasut at gmail.com
Thu Mar 7 20:21:34 UTC 2019
On 3/7/19 2:54 PM, Masahiro Yamada wrote:
> Hi.
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.
I can imagine, this looks like crappy. It should be automatic, like some
sort of Kconfig "include directives" or somesuch.
> 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.
Right
>>> 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.
That's fine, I'm mostly looking for some backward compatibility option,
so that I can retain the old defconfig names and e.g. turn them into
symlinks.
Maybe I should just remove the soon-to-be-duplicate files and be done
with it, might be the easiest solution.
>>> 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
>
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list