diff options
author | Yann E. MORIN <yann.morin.1998@free.fr> | 2013-09-03 22:22:26 +0200 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2013-09-05 11:10:08 +0200 |
commit | e062781397e5bebc6c1b8dd4bf466136e13ae4c5 (patch) | |
tree | 0d0a9232e2480a8a2c2d7f3931697c63ce7da847 /scripts/kconfig/menu.c | |
parent | c80de52d30304a4de296e687665b5d18a9026942 (diff) |
kconfig: do not allow more than one symbol to have 'option modules'
Previously, it was possible to have more than one symbol with the
'option modules' attached to them, although only the last one would
in fact control tristates.
Since this does not make much sense, only allow at most one symbol to
control tristates.
Note: it is still possible to have more than one symbol that control
tristates, but indirectly:
config MOD1
bool "mod1"
select MODULES
config MOD2
bool "mod2"
select MODULES
config MODULES
bool
option modules
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts/kconfig/menu.c')
-rw-r--r-- | scripts/kconfig/menu.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c index 3a9c6749326..c1d53200c30 100644 --- a/scripts/kconfig/menu.c +++ b/scripts/kconfig/menu.c @@ -199,6 +199,12 @@ void menu_add_option(int token, char *arg) { switch (token) { case T_OPT_MODULES: + if (modules_sym) + zconf_error("symbol '%s' redefines option 'modules'" + " already defined by symbol '%s'", + current_entry->sym->name, + modules_sym->name + ); modules_sym = current_entry->sym; break; case T_OPT_DEFCONFIG_LIST: |