diff options
author | Yann E. MORIN <yann.morin.1998@free.fr> | 2013-08-11 10:07:50 -0400 |
---|---|---|
committer | Yann E. MORIN <yann.morin.1998@free.fr> | 2013-08-15 16:56:08 -0400 |
commit | 11097a0367e48954ecf616f9b0df48d86835dd0d (patch) | |
tree | a795726b62f68894fad0cc251e43d404f82d4aff /init | |
parent | 04b19b773a60d201bc1b187ba7a7c86dc237a27b (diff) |
modules: do not depend on kconfig to set 'modules' option to symbol MODULES
Currently, the MODULES symbol is special-cased in different places in the
kconfig language. For example, if no symbol is defined to enable tristates,
then kconfig looks up for a symbol named 'MODULES', and forces the 'modules'
option onto that symbol.
This causes problems as such:
- since MODULES is special-cased, reading the configuration with
KCONFIG_ALLCONFIG set will forcibly set MODULES to be 'valid' (ie.
it has a valid value), when no such value was previously set. So
MODULES defaults to 'n' unless it is present in KCONFIG_ALLCONFIG
- other third-party projects may decide that 'MODULES' plays a different
role for them
This has been exposed by cset #cfa98f2e:
kconfig: do not override symbols already set
and reported by Stephen in:
http://marc.info/?l=linux-next&m=137592137915234&w=2
As suggested by Sam, we explicitly define the MODULES symbol to be the
tristate-enabler. This will allow us to drop special-casing of MODULES
in the kconfig language, later.
(Note: this patch is not a fix to Stephen's issue, just a first step).
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: yann.morin.1998@free.fr
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Kevin Hilman <khilman@linaro.org>
Cc: sedat.dilek@gmail.com
Cc: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index 247084be0590..4d55e81deff0 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -1666,6 +1666,7 @@ config BASE_SMALL | |||
1666 | 1666 | ||
1667 | menuconfig MODULES | 1667 | menuconfig MODULES |
1668 | bool "Enable loadable module support" | 1668 | bool "Enable loadable module support" |
1669 | option modules | ||
1669 | help | 1670 | help |
1670 | Kernel modules are small pieces of compiled code which can | 1671 | Kernel modules are small pieces of compiled code which can |
1671 | be inserted in the running kernel, rather than being | 1672 | be inserted in the running kernel, rather than being |