mirror of
https://github.com/torvalds/linux.git
synced 2026-10-22 23:01:49 +02:00
When running make localmodconfig, streamline_config.pl reads loaded
modules and maps each module object to its corresponding Kconfig
symbol(s) using repository Makefiles.
In several instances, a loaded module corresponds to an object
controlled by a boolean symbol (e.g. config FOO declared as bool), or is
a composite module that depends on a boolean configuration. Because
boolean options only accept "=y" or disabled, they cannot be configured
as loadable modules ("=m").
Previously, if such a symbol was not already built-in ("=y") in the
baseline configuration, the final integrity check emitted an ambiguous
diagnostic. For example
foo did not have configs CONFIG_FOO
Further investigation is required by developers to determine whether the
module was out-of-tree, its dependencies were unmet, or it failed due to
a type constraint. Address this by:
1. Tracking symbol types in a %types hash during Kconfig parsing.
2. Enhancing the final integrity check when running localmodconfig
(!$localyesconfig) to explicitly annotate boolean symbols.
For example:
module cec did not have configs CONFIG_CEC_CORE (tristate) CONFIG_RAS_CEC (boolean, not supported with =m)
Signed-off-by: Aaron Tomlin <atomlin@atomlin.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Link: https://patch.msgid.link/20260925181230.130525-1-atomlin@atomlin.com
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
|
||
|---|---|---|
| .. | ||
| icons | ||
| lxdialog | ||
| tests | ||
| .gitignore | ||
| conf.c | ||
| confdata.c | ||
| expr.c | ||
| expr.h | ||
| gconf-cfg.sh | ||
| gconf.c | ||
| gconf.ui | ||
| internal.h | ||
| kconfig-sym-check.pl | ||
| lexer.l | ||
| lkc_proto.h | ||
| lkc.h | ||
| Makefile | ||
| mconf-cfg.sh | ||
| mconf.c | ||
| menu.c | ||
| merge_config.sh | ||
| mnconf-common.c | ||
| mnconf-common.h | ||
| nconf-cfg.sh | ||
| nconf.c | ||
| nconf.gui.c | ||
| nconf.h | ||
| parser.y | ||
| preprocess.c | ||
| preprocess.h | ||
| qconf-cfg.sh | ||
| qconf.cc | ||
| qconf.h | ||
| streamline_config.pl | ||
| symbol.c | ||
| util.c | ||