aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorYann E. MORIN <yann.morin.1998@free.fr>2013-08-11 10:07:50 -0400
committerYann E. MORIN <yann.morin.1998@free.fr>2013-08-15 16:56:08 -0400
commit11097a0367e48954ecf616f9b0df48d86835dd0d (patch)
treea795726b62f68894fad0cc251e43d404f82d4aff /init
parent04b19b773a60d201bc1b187ba7a7c86dc237a27b (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/Kconfig1
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
1667menuconfig MODULES 1667menuconfig 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