[PATCH] kconfig: Proposed language extension for multiple builds

Simon Glass sjg at chromium.org
Mon Feb 27 04:59:53 CET 2023


Hi Masahiro,

On Sun, 26 Feb 2023 at 20:36, Masahiro Yamada <masahiroy at kernel.org> wrote:
>
> Hi Simon,
>
> On Mon, Feb 27, 2023 at 4:23 AM Simon Glass <sjg at chromium.org> wrote:
> >
> > Hi Masahiro,
> >
> > On Sun, 26 Feb 2023 at 10:36, Masahiro Yamada <masahiroy at kernel.org> wrote:
> > >
> > > On Sun, Feb 26, 2023 at 11:44 PM Tom Rini <trini at konsulko.com> wrote:
> > > >
> > > > On Sun, Feb 26, 2023 at 11:32:03PM +0900, Masahiro Yamada wrote:
> > > > > On Sun, Feb 26, 2023 at 11:04 PM Simon Glass <sjg at chromium.org> wrote:
> > > > > >
> > > > > > Hi Masahiro,
> > > > > >
> > > > > > On Sat, 25 Feb 2023 at 20:31, Masahiro Yamada <masahiroy at kernel.org> wrote:
> > > > > > >
> > > > > > > On Sat, Feb 25, 2023 at 11:38 AM Simon Glass <sjg at chromium.org> wrote:
> > > > > > > >
> > > > > > > > +Masahiro Yamada
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > I do not know.
> > > > > > > This seems a shorthand in Kconfig level.
> > > > > > >
> > > > > > >
> > > > > > > masahiro at zoe:~/ref/u-boot(master)$ rgrep '^config SPL_' | wc
> > > > > > >     540    1080   24872
> > > > > > > masahiro at zoe:~/ref/u-boot(master)$ rgrep '^config TPL_' | wc
> > > > > > >     163     326    7462
> > > > > > >
> > > > > > > If hundreds of duplications are not manageable,
> > > > > > > go for it, but kconfig will be out-of-sync from the
> > > > > > > upstream Kconfig.
> > > > > >
> > > > > > Yes that's right, it is a shorthand in Kconfig.
> > > > > >
> > > > > > The counts above understand the problem a little since quite a few
> > > > > > CONFIG options without an SPL prefix are used in SPL. We don't have
> > > > > > tools to estimate how many, and we sometimes add a new symbol to 'gain
> > > > > > control' of a particular feature in a phase.
> > > > > >
> > > > > > My intent in sending this patch was to check whether this support for
> > > > > > configuring multiple related builds (or something like it) could go
> > > > > > upstream, which for Kconfig is Linux, I believe. What do you think?
> > > > >
> > > > >
> > > > > This complexity is absolutely unneeded for Linux.
> > > > >
> > > > > So, the answer is no.
> > > >
> > > > Well, I think Simon summarized himself a bit shorter here than he did in
> > > > the patch itself.  So, to what extent does the kernel want to consider
> > > > all of the other projects using the Kconfig language and their needs /
> > > > use cases?
> > > >
> > > > --
> > > > Tom
> > >
> > >
> > >
> > > In principle, only features that are useful for Linux.
> >
> > I'm disappointed in this attitude. It is the same thing that we saw
> > from the DT bindings until recently.
>
>
> Sorry, but this is the maintainer's job.
> Saying no is one of the most important jobs as a maintainer.
>
> I must avoid Kconfig getting Frankenstein mechanisms.

Can you suggest a better approach?

> > >
> > > Kconfig has small piece of code that is useful for other projects,
> > > for example,
> > >
> > >     #ifndef CONFIG_
> > >     #define CONFIG_ "CONFIG_"
> > >     #endif
> > >
> > > which might be useful for Buildroot, but this is exceptionally small.
> >
> > How about refactoring patches that would make a possible
> > implementation easier to maintain, like [1] ? Would they be
> > acceptable?
>
>
> Code refactoring is welcome, but [1] is not applicable.
> U-Boot kconfig is synced with Linux 4.20, way behind the mainline Linux.

Sure, I wasn't suggesting that exact patch. It should be easy enough
to move to the latest version. It sounds like it may be possible to
make the Frankenstein patches easier to maintain out of tree, if we go
that way.

> > >
> > >
> > > The multi-phase is too cluttered, and that is not what Linux wants to have.
> >
> > Clearly it is not useful to Linux, which only has one build.
> >
> > [1] https://patchwork.ozlabs.org/project/uboot/patch/20230212231638.1134219-61-sjg@chromium.org/

Regards,
Simon


More information about the U-Boot mailing list