Messages in this thread | | | From | Masahiro Yamada <> | Date | Mon, 27 Feb 2023 23:52:57 +0900 | Subject | Re: [PATCH] kconfig: Proposed language extension for multiple builds |
| |
Hi Simon,
On Mon, Feb 27, 2023 at 1:00 PM Simon Glass <sjg@chromium.org> wrote: > > Hi Masahiro, > > On Sun, 26 Feb 2023 at 20:36, Masahiro Yamada <masahiroy@kernel.org> wrote: > > > > Hi Simon, > > > > On Mon, Feb 27, 2023 at 4:23 AM Simon Glass <sjg@chromium.org> wrote: > > > > > > Hi Masahiro, > > > > > > On Sun, 26 Feb 2023 at 10:36, Masahiro Yamada <masahiroy@kernel.org> wrote: > > > > > > > > On Sun, Feb 26, 2023 at 11:44 PM Tom Rini <trini@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@chromium.org> wrote: > > > > > > > > > > > > > > Hi Masahiro, > > > > > > > > > > > > > > On Sat, 25 Feb 2023 at 20:31, Masahiro Yamada <masahiroy@kernel.org> wrote: > > > > > > > > > > > > > > > > On Sat, Feb 25, 2023 at 11:38 AM Simon Glass <sjg@chromium.org> wrote: > > > > > > > > > > > > > > > > > > +Masahiro Yamada > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I do not know. > > > > > > > > This seems a shorthand in Kconfig level. > > > > > > > > > > > > > > > > > > > > > > > > masahiro@zoe:~/ref/u-boot(master)$ rgrep '^config SPL_' | wc > > > > > > > > 540 1080 24872 > > > > > > > > masahiro@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?
No, I can't.
Kconfig is a configuration system of the Linux kernel, which is monolithic. It was not designed with multi-phase images in mind.
Presumably, Kconfig is good for U-Boot proper, but not for SPL/TPL given the limited memory. There is little room for user's configuration anyway.
U-Boot extended SPL too much. On-chip RAM is not supposed to run DT, DM, FIT. With SPL kept simple and ad-hoc, none of CONFIG_SPL_OF_CONTROL, SPL_DM, SPL_FIT was unneeded. "bootph-*" properties were unneeded either.
This is a U-Boot-specific problem. Please solve it in U-Boot.
Masahiro Yamada
> > > > > > > > > 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
-- Best Regards Masahiro Yamada
| |