[PATCH 13/14] Update u-boot.cfg to include CFG also

Simon Glass sjg at chromium.org
Wed Jul 31 16:39:30 CEST 2024


Hi Tom,

On Mon, 29 Jul 2024 at 12:17, Tom Rini <trini at konsulko.com> wrote:
>
> On Sun, Jul 28, 2024 at 01:36:09PM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Fri, 28 Jun 2024 at 01:33, Simon Glass <sjg at chromium.org> wrote:
> > >
> > > Hi Tom,
> > >
> > > On Thu, 27 Jun 2024 at 15:42, Tom Rini <trini at konsulko.com> wrote:
> > > >
> > > > On Thu, Jun 27, 2024 at 09:37:15AM +0100, Simon Glass wrote:
> > > > > Hi Tom,
> > > > >
> > > > > On Wed, 26 Jun 2024 at 15:07, Tom Rini <trini at konsulko.com> wrote:
> > > > > >
> > > > > > On Wed, Jun 26, 2024 at 09:00:41AM +0100, Simon Glass wrote:
> > > > > > > Hi Tom,
> > > > > > >
> > > > > > > On Tue, 25 Jun 2024 at 15:14, Tom Rini <trini at konsulko.com> wrote:
> > > > > > > >
> > > > > > > > On Tue, Jun 25, 2024 at 01:38:04PM +0100, Simon Glass wrote:
> > > > > > > > > Hi Tom,
> > > > > > > > >
> > > > > > > > > On Mon, 24 Jun 2024 at 19:29, Tom Rini <trini at konsulko.com> wrote:
> > > > > > > > > >
> > > > > > > > > > On Sun, Jun 23, 2024 at 02:30:32PM -0600, Simon Glass wrote:
> > > > > > > > > >
> > > > > > > > > > > Some configuration is now in variables with a CFG_ prefix. Add these to
> > > > > > > > > > > the .cfg file so that we can see everything in one place. Sort the
> > > > > > > > > > > options so they are easier to find and compare.
> > > > > > > > > > >
> > > > > > > > > > > Signed-off-by: Simon Glass <sjg at chromium.org>
> > > > > > > > > > > ---
> > > > > > > > > > >
> > > > > > > > > > > Changes in v2:
> > > > > > > > > > > - Add new patch to update u-boot.cfg with CFG_... options
> > > > > > > > > > >
> > > > > > > > > > >  scripts/Makefile.autoconf | 2 +-
> > > > > > > > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > > > > > > >
> > > > > > > > > > > diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf
> > > > > > > > > > > index b42f9b525fe..65ff11ea508 100644
> > > > > > > > > > > --- a/scripts/Makefile.autoconf
> > > > > > > > > > > +++ b/scripts/Makefile.autoconf
> > > > > > > > > > > @@ -71,7 +71,7 @@ quiet_cmd_autoconf = GEN     $@
> > > > > > > > > > >  quiet_cmd_u_boot_cfg = CFG     $@
> > > > > > > > > > >        cmd_u_boot_cfg = \
> > > > > > > > > > >       $(CPP) $(c_flags) $2 -DDO_DEPS_ONLY -dM include/config.h > $@.tmp && { \
> > > > > > > > > > > -             grep 'define CONFIG_' $@.tmp | \
> > > > > > > > > > > +             egrep 'define (CONFIG_|CFG_)' $@.tmp | sort | \
> > > > > > > > > > >                       sed '/define CONFIG_IS_ENABLED(/d;/define CONFIG_IF_ENABLED_INT(/d;/define CONFIG_VAL(/d;' > $@; \
> > > > > > > > > > >               rm $@.tmp;                                              \
> > > > > > > > > > >       } || {                                                          \
> > > > > > > > > >
> > > > > > > > > > I don't like this because whereas "CONFIG_" is enforced to be set only
> > > > > > > > > > by Kconfig and so always all reliably set and found via a single header,
> > > > > > > > > > CFG_ stuff is not.
> > > > > > > > >
> > > > > > > > > OK, so how are CFG_ options found? I hit this when trying to find the
> > > > > > > > > SDRAM size on rockchip 3399 and I could not find any way of figuring
> > > > > > > > > it out.
> > > > > > > >
> > > > > > > > It's just another define, there's no uniformity to it. For some of the
> > > > > > > > SDRAM values really we need some build time way to grab some information
> > > > > > > > out of the default device tree.
> > > > > > >
> > > > > > > Can you give an example of a board that could use this? I looked at
> > > > > > > the devicetree for chromebook_kevin and don't see a memory range in
> > > > > > > ther.
> > > > > >
> > > > > > OK, wow, I didn't realize /memory was optional now. But indeed, I don't
> > > > > > see it in the dtb file. That removes that option then, sadly.
> > > > >
> > > > > Well, we can still require it, so long as an error is produced if the
> > > > > property is needed but does not exist.
> > > >
> > > > "We" who? I don't feel like we'll have a lot of traction with linux
> > > > kernel folks in requiring /memory to be added to the dts files on
> > > > however many platforms don't have it today because I'm going to guess
> > > > it's added at run time, possibly by us, with the correct size and we'd
> > > > be asking for statically adding things half-wrong like a lot of
> > > > platforms used to do (and in turn rely on U-Boot to correct the size).
> > >
> > > Hmm yes of course, the firmware is supposed to add these
> > > properties...that's how it gets in there. So we need to stick with CFG
> > > (and perhaps the RAM-size prober) for now.
> >
> > Coming back to this patch, can we apply it? It provides a way to find
> > out the value of these CFG options, which otherwise involves chasing
> > around header files.
>
> No, because it implies that there's a consistent way to know what a
> given CFG value will be when there is not. There is no equivalent header
> to include like for CONFIG symbols to know that you got them. You're
> likely better off trying out "ripgrep" which I have found to be much
> faster than "git grep".

Hmm it is really hard to know which files to grep!

Could we require that config.h includes all the CFG values? I'm just
trying to find a way to bring a bit more order to this area.

Regards,
Simon


More information about the U-Boot mailing list