[PATCH 1/1] api: move API related config options into submenu

Kconfig settings that are related to the API for standalone applications should be in the API sub-menu and not on the top level.
CONFIG_STANDALONE_LOAD_ADDR is only relevant if standalone example applications are built.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com --- Kconfig | 8 -------- api/Kconfig | 11 ++++++++++- 2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/Kconfig b/Kconfig index a75cce7e28..e24376765d 100644 --- a/Kconfig +++ b/Kconfig @@ -602,14 +602,6 @@ config MP This provides an option to bringup different processors in multiprocessor cases.
-config EXAMPLES - bool "Compile API examples" - depends on !SANDBOX - default y if ARCH_QEMU - help - U-Boot provides an API for standalone applications. Examples are - provided in directory examples/. - endmenu # General setup
source "api/Kconfig" diff --git a/api/Kconfig b/api/Kconfig index d9362724e5..6072288f9b 100644 --- a/api/Kconfig +++ b/api/Kconfig @@ -10,9 +10,16 @@ config SYS_MMC_MAX_DEVICE depends on API default 1
-endmenu +config EXAMPLES + bool "Compile API examples" + depends on !SANDBOX + default y if ARCH_QEMU + help + U-Boot provides an API for standalone applications. Examples are + provided in directory examples/.
config STANDALONE_LOAD_ADDR + depends on EXAMPLES hex "Address in memory to link standalone applications to" default 0xffffffff80200000 if MIPS && 64BIT default 0x8c000000 if SH @@ -30,3 +37,5 @@ config STANDALONE_LOAD_ADDR This option defines a board specific value for the address where standalone program gets loaded, thus overwriting the architecture dependent default settings. + +endmenu

On Fri, Mar 03, 2023 at 11:31:22PM +0100, Heinrich Schuchardt wrote:
Kconfig settings that are related to the API for standalone applications should be in the API sub-menu and not on the top level.
CONFIG_STANDALONE_LOAD_ADDR is only relevant if standalone example applications are built.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Kconfig | 8 -------- api/Kconfig | 11 ++++++++++- 2 files changed, 10 insertions(+), 9 deletions(-)
Did you put this through CI? It's possible that some envs don't do "loadaddr=CONFIG_STANDALONE_LOAD_ADDR" and not enable API stuff anymore, but I think that's why I did what I did when migrating.

On 3/4/23 16:32, Tom Rini wrote:
On Fri, Mar 03, 2023 at 11:31:22PM +0100, Heinrich Schuchardt wrote:
Kconfig settings that are related to the API for standalone applications should be in the API sub-menu and not on the top level.
CONFIG_STANDALONE_LOAD_ADDR is only relevant if standalone example applications are built.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Kconfig | 8 -------- api/Kconfig | 11 ++++++++++- 2 files changed, 10 insertions(+), 9 deletions(-)
Did you put this through CI? It's possible that some envs don't do "loadaddr=CONFIG_STANDALONE_LOAD_ADDR" and not enable API stuff anymore, but I think that's why I did what I did when migrating.
Hello Tom,
we should keep the main Kconfig menu clean of detail settings. I don't thin that there is an issue with the current patch.
STANDALONE_LOAD_ADDR is not used for loadaddr:
$ git grep -n STANDALONE_LOAD_ADDR (based on origin/master)
api/Kconfig:15 config STANDALONE_LOAD_ADDR
config.mk:79 export CONFIG_STANDALONE_LOAD_ADDR
configs/display5_defconfig:33 CONFIG_STANDALONE_LOAD_ADDR=0x10001000
configs/display5_factory_defconfig:30 CONFIG_STANDALONE_LOAD_ADDR=0x10001000
configs/microchip_mpfs_icicle_defconfig:15 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv32_defconfig:12 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv32_smode_defconfig:13 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv32_spl_defconfig:15 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv64_defconfig:12 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv64_smode_defconfig:13 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv64_spl_defconfig:14 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/sifive_unleashed_defconfig:21 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/sifive_unmatched_defconfig:24 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/xtfpga_defconfig:12 CONFIG_STANDALONE_LOAD_ADDR=0x00800000
examples/standalone/Makefile:45 LDFLAGS_STANDALONE += -Ttext $(CONFIG_STANDALONE_LOAD_ADDR)
tools/patman/test_checkpatch.py:208 CONFIG_STANDALONE_LOAD_ADDR
With the patch applied https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/15474 showed no issues.
Best regards
Heinrich

On Mon, Mar 06, 2023 at 11:18:17AM +0100, Heinrich Schuchardt wrote:
On 3/4/23 16:32, Tom Rini wrote:
On Fri, Mar 03, 2023 at 11:31:22PM +0100, Heinrich Schuchardt wrote:
Kconfig settings that are related to the API for standalone applications should be in the API sub-menu and not on the top level.
CONFIG_STANDALONE_LOAD_ADDR is only relevant if standalone example applications are built.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Kconfig | 8 -------- api/Kconfig | 11 ++++++++++- 2 files changed, 10 insertions(+), 9 deletions(-)
Did you put this through CI? It's possible that some envs don't do "loadaddr=CONFIG_STANDALONE_LOAD_ADDR" and not enable API stuff anymore, but I think that's why I did what I did when migrating.
Hello Tom,
we should keep the main Kconfig menu clean of detail settings. I don't thin that there is an issue with the current patch.
Yes, there's many ways Kconfig needs to be cleaned up, especially now that the migration of symbols from the board.h files is done. Some of the oddities were a result of symbol misuse/abuse, which can be fixed now.
STANDALONE_LOAD_ADDR is not used for loadaddr:
$ git grep -n STANDALONE_LOAD_ADDR (based on origin/master)
api/Kconfig:15 config STANDALONE_LOAD_ADDR
config.mk:79 export CONFIG_STANDALONE_LOAD_ADDR
configs/display5_defconfig:33 CONFIG_STANDALONE_LOAD_ADDR=0x10001000
configs/display5_factory_defconfig:30 CONFIG_STANDALONE_LOAD_ADDR=0x10001000
configs/microchip_mpfs_icicle_defconfig:15 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv32_defconfig:12 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv32_smode_defconfig:13 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv32_spl_defconfig:15 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv64_defconfig:12 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv64_smode_defconfig:13 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/qemu-riscv64_spl_defconfig:14 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/sifive_unleashed_defconfig:21 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/sifive_unmatched_defconfig:24 CONFIG_STANDALONE_LOAD_ADDR=0x80200000
configs/xtfpga_defconfig:12 CONFIG_STANDALONE_LOAD_ADDR=0x00800000
examples/standalone/Makefile:45 LDFLAGS_STANDALONE += -Ttext $(CONFIG_STANDALONE_LOAD_ADDR)
tools/patman/test_checkpatch.py:208 CONFIG_STANDALONE_LOAD_ADDR
With the patch applied https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/15474 showed no issues.
Thanks for checking. In general, a CI run for making symbols less visible will make life easier on me when merging.

On Fri, Mar 03, 2023 at 11:31:22PM +0100, Heinrich Schuchardt wrote:
Kconfig settings that are related to the API for standalone applications should be in the API sub-menu and not on the top level.
CONFIG_STANDALONE_LOAD_ADDR is only relevant if standalone example applications are built.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Applied to u-boot/next, thanks!
participants (2)
-
Heinrich Schuchardt
-
Tom Rini