diff options
-rw-r--r-- | Documentation/kbuild/kconfig-language.txt | 1 | ||||
-rw-r--r-- | scripts/kconfig/menu.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/kbuild/kconfig-language.txt b/Documentation/kbuild/kconfig-language.txt index c858f8419eba..c420676c6fe3 100644 --- a/Documentation/kbuild/kconfig-language.txt +++ b/Documentation/kbuild/kconfig-language.txt | |||
@@ -147,6 +147,7 @@ applicable everywhere (see syntax). | |||
147 | - "modules" | 147 | - "modules" |
148 | This declares the symbol to be used as the MODULES symbol, which | 148 | This declares the symbol to be used as the MODULES symbol, which |
149 | enables the third modular state for all config symbols. | 149 | enables the third modular state for all config symbols. |
150 | At most one symbol may have the "modules" option set. | ||
150 | 151 | ||
151 | - "env"=<value> | 152 | - "env"=<value> |
152 | This imports the environment variable into Kconfig. It behaves like | 153 | This imports the environment variable into Kconfig. It behaves like |
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c index 3a9c67493260..c1d53200c306 100644 --- a/scripts/kconfig/menu.c +++ b/scripts/kconfig/menu.c | |||
@@ -199,6 +199,12 @@ void menu_add_option(int token, char *arg) | |||
199 | { | 199 | { |
200 | switch (token) { | 200 | switch (token) { |
201 | case T_OPT_MODULES: | 201 | case T_OPT_MODULES: |
202 | if (modules_sym) | ||
203 | zconf_error("symbol '%s' redefines option 'modules'" | ||
204 | " already defined by symbol '%s'", | ||
205 | current_entry->sym->name, | ||
206 | modules_sym->name | ||
207 | ); | ||
202 | modules_sym = current_entry->sym; | 208 | modules_sym = current_entry->sym; |
203 | break; | 209 | break; |
204 | case T_OPT_DEFCONFIG_LIST: | 210 | case T_OPT_DEFCONFIG_LIST: |