U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>
Subject: Re: [PATCH 13/14] Update u-boot.cfg to include CFG also
Date: Mon, 23 Sep 2024 14:35:03 -0600	[thread overview]
Message-ID: <20240923203503.GP4252@bill-the-cat> (raw)
In-Reply-To: <CAFLszTiSngoo_6-t7u+uPCsELHGkoRy4-5J_i_1v8rWfFpvMRA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 7573 bytes --]

On Thu, Sep 19, 2024 at 04:13:57PM +0200, Simon Glass wrote:
> Hi Tom,
> 
> On Wed, 31 Jul 2024 at 19:17, Tom Rini <trini@konsulko.com> wrote:
> >
> > 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@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@chromium.org> wrote:
> > > > > >
> > > > > > Hi Tom,
> > > > > >
> > > > > > On Thu, 27 Jun 2024 at 15:42, Tom Rini <trini@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@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@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@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@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
> 
> All that does is show me lots of matches. I'm not sure which board
> they relate to. Some of them are obvious, but quite a few have header
> files common to many boards.
> 
> >
> > > 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.
> 
> Hmm, yes. I am not sure how many are in that category. Linux often
> seems to use tables of data in the code, since it doesn't care so much
> about code size. So finding bindings for some of this data may be
> tricky.
> 
> I suppose the SDRAM base/size could go in the DT if it had its own
> binding, e.g. in /options/u-boot - but still many boards would want to
> determine the size at runtime.
> 
> With text environment and a solution to SDRAM, perhaps we can require
> that new boards not use CFG_...?

I don't see doing anything further to CFG_ as particularly important
right now, honestly. The majority of symbols are in legacy things and
then it's just a few symbols that no, really, there's not a good way to
get this information other than a define.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2024-09-23 20:35 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-23 20:30 [PATCH 00/14] testb: Various tweaks and fixes for Labgrid Simon Glass
2024-06-23 20:30 ` [PATCH 01/14] trace: Update test to tolerate different trace-cmd version Simon Glass
2024-06-23 20:30 ` [PATCH 02/14] dm: core: Enhance comments on bind_drivers_pass() Simon Glass
2024-06-23 20:30 ` [PATCH 03/14] initcall: Correct use of relocation offset Simon Glass
2024-06-23 20:30 ` [PATCH 04/14] am33xx: Provide a function to set up the debug UART Simon Glass
2024-06-23 20:30 ` [PATCH 05/14] sunxi: Mark scp as optional Simon Glass
2024-06-24  9:36   ` Andre Przywara
2024-06-24 15:50   ` Dragan Simic
2024-06-23 20:30 ` [PATCH 06/14] google: Disable TPMv2 on most Chromebooks Simon Glass
2024-06-23 20:30 ` [PATCH 07/14] meson: Correct driver declaration for meson_axg_gpio Simon Glass
2024-06-23 20:30 ` [PATCH 08/14] test: Make bootstd init run only on sandbox Simon Glass
2024-06-23 20:30 ` [PATCH 09/14] log: Allow tests to pass with CONFIG_LOGF_FUNC_PAD set Simon Glass
2024-06-23 20:30 ` [PATCH 10/14] test: dm: Show failing driver name Simon Glass
2024-06-23 20:30 ` [PATCH 11/14] test: Decode exceptions only with sandbox Simon Glass
2024-06-23 20:30 ` [PATCH 12/14] test: Check help output Simon Glass
2024-06-23 20:30 ` [PATCH 13/14] Update u-boot.cfg to include CFG also Simon Glass
2024-06-24 18:29   ` Tom Rini
2024-06-25 12:38     ` Simon Glass
2024-06-25 14:14       ` Tom Rini
2024-06-26  8:00         ` Simon Glass
2024-06-26 14:07           ` Tom Rini
2024-06-27  8:37             ` Simon Glass
2024-06-27 14:42               ` Tom Rini
2024-06-28  7:33                 ` Simon Glass
2024-07-28 19:36                   ` Simon Glass
2024-07-29 18:17                     ` Tom Rini
2024-07-31 14:39                       ` Simon Glass
2024-07-31 17:17                         ` Tom Rini
2024-09-19 14:13                           ` Simon Glass
2024-09-23 20:35                             ` Tom Rini [this message]
2024-09-25 12:49                               ` Simon Glass
2024-06-23 20:30 ` [PATCH 14/14] smbios: Correct error handling when writing tables Simon Glass
2024-06-24  4:36   ` Heinrich Schuchardt
2024-06-25 12:30     ` Simon Glass
2024-06-26  9:43 ` (subset) [PATCH 00/14] testb: Various tweaks and fixes for Labgrid Neil Armstrong
2024-07-04 18:50 ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240923203503.GP4252@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox