[PATCH] kconfig: Add a build target for checking current config for issues

From: Tomasz Figa
Date: Thu Dec 28 2023 - 02:10:01 EST


The new target is called 'checkconfig' and currently is basically an
alias for `listnewconfig` with KCONFIG_WARN_UNKNOWN_SYMBOLS set to true.
It can be used to validate if the current config is directly compatible
with the current kernel version or needs some manual adjustment.

Signed-off-by: Tomasz Figa <tfiga@xxxxxxxxxxxx>
---
scripts/kconfig/Makefile | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 4eee155121a8..501cb9b76414 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -81,6 +81,9 @@ PHONY += savedefconfig defconfig
savedefconfig: $(obj)/conf
$(Q)$< $(silent) --$@=defconfig $(Kconfig)

+checkconfig: $(obj)/conf
+ $(Q)KCONFIG_WARN_UNKNOWN_SYMBOLS=true $< --listnewconfig $(Kconfig)
+
defconfig: $(obj)/conf
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
@$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
@@ -144,6 +147,7 @@ help:
@echo ' default value without prompting'
@echo ' tinyconfig - Configure the tiniest possible kernel'
@echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)'
+ @echo ' checkconfig - Check current config for unrecognized and new symbols'
@echo ''
@echo 'Configuration topic targets:'
@$(foreach f, $(all-config-fragments), \
--
2.43.0.472.g3155946c3a-goog