From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Subject: [PATCH 0/8] kconfig: cut down on duplication with merged defconfigs
Date: Fri, 17 May 2024 15:26:48 +0200 [thread overview]
Message-ID: <20240517132656.3151273-1-a.fatoum@pengutronix.de> (raw)
We currently use scripts/kconfig/merge_config.sh only in MAKEALL.
Linux has been using it inside Kbuild as well to derive new defconfigs
from the existing ones that differ only by a few options, e.g. to enable
virtualization or to switch endianness.
This is useful for us in barebox as well to cut down on the number of
configs and to avoid bitrot in the less used ones, e.g. a lot of AT91
configs can probably be replaced with two lines in mach-at91/Makefile
each this way and e.g. x86 defconfig could have a virtio.defconfig for
use with Qemu.
This series adds the infrastructure for this and some example defconfig
targets that are derived from existing defconfigs:
- ARCH=mips qemu-malta_defconfig -> qemu-malta(64)?(el)_defconfig
- ARCH=sandbox sandbox_defconfig -> (headless|noshell|lockdown)_defconfig
Configs added with the new mechanism are automatically discoverable by
CI and so this should increase build coverage with minimal development
overhead.
Ahmad Fatoum (8):
test: move common config fragments into common/boards/configs
kconfig: merge_config.sh: sync with Linux v6.9
kbuild: add support for merged defconfigs
MIPS: make use of merged defconfigs
sandbox: stdio: fix ctrlc link error when CONFIG_CONSOLE_NONE=y
net: fix build with CONFIG_SHELL_NONE
power: reset: reboot-mode: fix link error without globalvar
sandbox: add headless_defconfig
.github/workflows/build-defconfigs.yml | 8 +-
.github/workflows/test-labgrid-pytest.yml | 6 +-
Documentation/boards/mips/qemu-malta.rst | 11 +++
Makefile | 6 +-
arch/mips/Makefile | 8 ++
arch/mips/configs/le.config | 1 +
arch/mips/configs/mips64.config | 2 +
arch/mips/configs/qemu-malta64el_defconfig | 97 -------------------
arch/sandbox/Makefile | 8 ++
.../boards/configs/base.config | 0
.../boards/configs/disable_size_check.config | 0
.../configs/disable_target_tools.config | 0
.../boards/configs/enable_self_test.config | 0
.../boards/configs/enable_werror.config | 0
.../boards/configs/full.config | 0
common/boards/configs/headless.config | 3 +
common/boards/configs/noshell.config | 2 +
.../boards/configs/virtio-pci.config | 0
drivers/power/reset/reboot-mode.c | 5 +-
include/command.h | 8 ++
include/stdio.h | 2 -
net/Kconfig | 1 -
scripts/Makefile.defconf | 37 +++++++
scripts/container.sh | 2 +-
scripts/kconfig/merge_config.sh | 40 ++++++--
scripts/list-defconfigs.sh | 20 ++--
test/emulate.pl | 10 +-
test/x86/virtio@efi_defconfig.yaml | 2 +-
28 files changed, 145 insertions(+), 134 deletions(-)
create mode 100644 arch/mips/configs/le.config
create mode 100644 arch/mips/configs/mips64.config
delete mode 100644 arch/mips/configs/qemu-malta64el_defconfig
rename test/kconfig/base.cfg => common/boards/configs/base.config (100%)
rename test/kconfig/disable_size_check.kconf => common/boards/configs/disable_size_check.config (100%)
rename test/kconfig/disable_target_tools.kconf => common/boards/configs/disable_target_tools.config (100%)
rename test/kconfig/enable_self_test.kconf => common/boards/configs/enable_self_test.config (100%)
rename test/kconfig/enable_werror.kconf => common/boards/configs/enable_werror.config (100%)
rename test/kconfig/full.cfg => common/boards/configs/full.config (100%)
create mode 100644 common/boards/configs/headless.config
create mode 100644 common/boards/configs/noshell.config
rename test/kconfig/virtio-pci.cfg => common/boards/configs/virtio-pci.config (100%)
create mode 100644 scripts/Makefile.defconf
--
2.39.2
next reply other threads:[~2024-05-17 13:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-17 13:26 Ahmad Fatoum [this message]
2024-05-17 13:26 ` [PATCH 1/8] test: move common config fragments into common/boards/configs Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 2/8] kconfig: merge_config.sh: sync with Linux v6.9 Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 3/8] kbuild: add support for merged defconfigs Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 4/8] MIPS: make use of " Ahmad Fatoum
2024-05-20 10:23 ` [PATCH] fixup! " Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 5/8] sandbox: stdio: fix ctrlc link error when CONFIG_CONSOLE_NONE=y Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 6/8] net: fix build with CONFIG_SHELL_NONE Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 7/8] power: reset: reboot-mode: fix link error without globalvar Ahmad Fatoum
2024-05-17 13:26 ` [PATCH 8/8] sandbox: add headless_defconfig Ahmad Fatoum
2024-05-21 6:20 ` [PATCH 0/8] kconfig: cut down on duplication with merged defconfigs Sascha Hauer
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=20240517132656.3151273-1-a.fatoum@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
/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