[PATCH 13/14] Update u-boot.cfg to include CFG also
Tom Rini
trini at konsulko.com
Wed Jul 31 19:17:19 CEST 2024
On Wed, Jul 31, 2024 at 08:39:30AM -0600, Simon Glass wrote:
> 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!
It's super easy with ripgrep:
$ rg -g *.h CFG_SYS_SDRAM_SIZE
> 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.
Well, some of them could perhaps be Kconfig symbols instead, it just got
too tedious to untangle some of them. For others (not
CFG_SYS_SDRAM_SIZE/BASE, sadly) it goes back to my idea about seeing
what can be pulled at build time from the default device tree.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240731/a6e895af/attachment.sig>
More information about the U-Boot
mailing list