From: Tom Rini <trini@konsulko.com>
To: Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>,
Joe Hershberger <joe.hershberger@ni.com>,
Masahiro Yamada <yamada.masahiro@socionext.com>
Subject: Re: [PATCH 00/32] RFC: Migrate to split config
Date: Tue, 31 Jan 2023 16:57:58 -0500 [thread overview]
Message-ID: <Y9mO5rsedMfYttpY@bill-the-cat> (raw)
In-Reply-To: <20230131152702.249197-1-sjg@chromium.org>
[-- Attachment #1: Type: text/plain, Size: 2256 bytes --]
On Tue, Jan 31, 2023 at 08:26:30AM -0700, Simon Glass wrote:
> U-Boot uses an SPL prefix on CONFIG options to indicate when an option
> relates to SPL. For example, while CONFIG_TEXT_BASE is the text base for
> U-Boot proper, CONFIG_SPL_TEXT_BASE is the text base for SPL.
>
> Within the code it is possible do things like CONFIG_VAL(TEXT_BASE) to
> get that value. It returns the appropriate option, depending on the phase
> being built.
>
> The same applies for boolean options, like CONFIG_BLK and CONFIG_SPL_BLK
> but in that case we use CONFIG_IS_ENABLED(BLK) to obtain the value.
>
> For Makefiles we use an SPL_TPL_ macro which evalutes either to empty,
> SPL, TPL or even VPL depending on the build phase. So we can do things
> like:
>
> obj-$(CONFIG_$(SPL_TPL_)CLK) += clk-uclass.o
>
> To complicate things a little, some options like CONFIG_ARCH_APPLE do not
> have an SPL version, so people have to remember to use IS_ENABLED()
> instead of CONFIG_IS_ENABLED(). If the latter is used, the value will be
> false.
>
> All of this is rather confusing, since:
>
> - people have to know whether to use IS_ENABLED() or CONFIG_IS_ENABLED()
> - the Makefiles are cluttered with $(SPL_TPL_) constructs
> - plain use of a CONFIG option (e.g. #ifdef CONFIG_CLK) may be correct in
> some cases but not in others
>
> This series updates U-Boot to use separate config files for each phase of
> the build. It drops use of CONFIG_IS_ENABLED() and SPL_TPL_ as well.
>
> For now this series does not fully work due to inconsistencies in the
> Kconfig options. Many of these have been fixed [1] [2a] [2b] but more
> remain.
>
> This series is available at u-boot-dm/splc-working
>
> [1] https://patchwork.ozlabs.org/project/uboot/list/?series=339004
> [2a] https://patchwork.ozlabs.org/project/uboot/list/?series=339199&state=*
> [2b] https://patchwork.ozlabs.org/project/uboot/list/?series=339208&state=*
To summarize what I said on IRC, it's going to depend on what this looks
like once every board is expected to build and boot, which isn't the
case today, as there's more "dummy" or in other words, def_bool n
symbols added, so that we don't change things before/after this series.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
prev parent reply other threads:[~2023-01-31 21:58 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-31 15:26 [PATCH 00/32] RFC: Migrate to split config Simon Glass
2023-01-31 15:26 ` [PATCH 01/32] fixup: Bugfix for moveconfig Simon Glass
2023-01-31 15:26 ` [PATCH 02/32] event: Add Kconfig options for SPL Simon Glass
2023-01-31 15:26 ` [PATCH 03/32] bootstd: " Simon Glass
2023-01-31 15:26 ` [PATCH 04/32] cmd: Add an SPL Kconfig for CMDLINE and HUSH Simon Glass
2023-01-31 15:26 ` [PATCH 05/32] boot: Add a Kconfig for SPL_QCOM_PMIC_GPIO Simon Glass
2023-01-31 15:26 ` [PATCH 06/32] cros_ec: Add SPL Kconfigs for cros_ec features Simon Glass
2023-01-31 15:26 ` [PATCH 07/32] boot: Add a Kconfig for SPL_UT_COMPRESSION Simon Glass
2023-01-31 15:26 ` [PATCH 08/32] env: Avoid checking ENV_IS_IN when env disabled Simon Glass
2023-01-31 15:26 ` [PATCH 09/32] boot: Add a Kconfig for SPL_AVB_VERIFY Simon Glass
2023-01-31 15:26 ` [PATCH 10/32] env: Allow VPL environment to be nowhere Simon Glass
2023-01-31 15:26 ` [PATCH 11/32] lib: Add VPL options for SHA1 and SHA256 Simon Glass
2023-01-31 15:26 ` [PATCH 12/32] sandbox: Tidy up RTC options Simon Glass
2023-01-31 15:26 ` [PATCH 13/32] sandbox: Use the generic VPL option to enable VPL Simon Glass
2023-01-31 15:26 ` [PATCH 14/32] sandbox: Tidy up I2C options Simon Glass
2023-01-31 15:26 ` [PATCH 15/32] fixdep: Add support for VPL Simon Glass
2023-01-31 15:26 ` [PATCH 16/32] fixdep: Refactor to make testing easier Simon Glass
2023-01-31 15:26 ` [PATCH 17/32] fixdep: Add some tests for parse_config_line() Simon Glass
2023-01-31 15:26 ` [PATCH 18/32] test: Add SPL versions of the TEST_KCONFIG options Simon Glass
2023-01-31 15:26 ` [PATCH 19/32] kconfig: Add configuration files for noproper and nospl Simon Glass
2023-01-31 15:26 ` [PATCH 20/32] kconfig: Refactor code into separate writer functions Simon Glass
2023-01-31 15:26 ` [PATCH 21/32] kconfig: Support writing separate SPL files Simon Glass
2023-01-31 15:26 ` [PATCH 22/32] Makefile: Include the config for the phase being built Simon Glass
2023-01-31 15:26 ` [PATCH 23/32] kconfig: Update CONFIG_IS_ENABLED() for split files Simon Glass
2023-01-31 15:26 ` [PATCH 24/32] Makefile: Use empty SPL_ and SPL_TPL_ vars Simon Glass
2023-01-31 15:26 ` [PATCH 25/32] Drop use of CONFIG_IS_ENABLED() Simon Glass
2023-01-31 15:26 ` [PATCH 26/32] kconfig: Adjust the meaning " Simon Glass
2023-01-31 15:26 ` [PATCH 27/32] kconfig: Drop CONFIG_IF_ENABLED_INT() Simon Glass
2023-01-31 15:26 ` [PATCH 28/32] kconfig: Drop CONFIG_IS_ENABLED() Simon Glass
2023-01-31 15:26 ` [PATCH 29/32] kconfig: drop config_opt_enabled() Simon Glass
2023-01-31 15:27 ` [PATCH 30/32] kconfig: Drop CONFIG_VAL() Simon Glass
2023-01-31 15:27 ` [PATCH 31/32] kconfig: Move closer to the Linux version Simon Glass
2023-01-31 15:27 ` [PATCH 32/32] Makefile: Drop SPL_ and SPL_TPL_ macros Simon Glass
2023-01-31 21:57 ` Tom Rini [this message]
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=Y9mO5rsedMfYttpY@bill-the-cat \
--to=trini@konsulko.com \
--cc=joe.hershberger@ni.com \
--cc=sjg@chromium.org \
--cc=u-boot@lists.denx.de \
--cc=yamada.masahiro@socionext.com \
/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