Skip to content

Commit 213a88f

Browse files
ulfalizercarlescufi
authored andcommitted
Kconfig: Support macro expansion within symbol names
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 <[email protected]>
1 parent ced1c03 commit 213a88f

File tree

1 file changed

+161
-123
lines changed

1 file changed

+161
-123
lines changed

0 commit comments

Comments
 (0)