Update Kconfiglib to upstream revision 2be02fac78527 to add support for
expanding macros within symbol names, extending the existing Kconfig
preprocessor
(https://github.com/torvalds/linux/blob/master/Documentation/kbuild/
kconfig-macro-language.txt). Some minor optimizations are included as
well.
This makes it possible to add Kconfig templates to avoid code
repetition, e.g. like below:
Kconfig.log_template:
choice
prompt "Max compiled-in log level for $(module-str)"
config $(module)_LOG_LEVEL_OFF
bool "Off"
config $(module)_LOG_LEVEL_ERR
bool "Error"
config $(module)_LOG_LEVEL_WRN
bool "Warning"
config $(module)_LOG_LEVEL_INF
bool "Info"
config $(module)_LOG_LEVEL_DBG
bool "Debug"
endchoice
config $(module)_LOG_LEVEL
int
default 0 if $(module)_LOG_LEVEL_OFF
default 1 if $(module)_LOG_LEVEL_ERR
default 2 if $(module)_LOG_LEVEL_WRN
default 3 if $(module)_LOG_LEVEL_INF
default 4 if $(module)_LOG_LEVEL_DBG
Using the template:
module = FOO
module-str = foo
source "Kconfig.log_template"
...
module = BAR
module-str = bar
source "Kconfig.log_template"
This feature might create harder-to-read Kconfig files if abused, so it
should probably be used sparingly.
Fixes: #9761
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>