kconfig: change "modules" from sub-option to first-level attribute
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 13 Mar 2021 19:48:36 +0000 (04:48 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Wed, 14 Apr 2021 06:22:49 +0000 (15:22 +0900)
Now "modules" is the only member of the "option" property.

Remove "option", and move "modules" to the top level property.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Documentation/kbuild/kconfig-language.rst
init/Kconfig
scripts/kconfig/lexer.l
scripts/kconfig/lkc.h
scripts/kconfig/menu.c
scripts/kconfig/parser.y
scripts/kconfig/tests/choice/Kconfig
scripts/kconfig/tests/choice_value_with_m_dep/Kconfig
scripts/kconfig/tests/inter_choice/Kconfig

index 4a796c6..98c2418 100644 (file)
@@ -223,16 +223,10 @@ applicable everywhere (see syntax).
   the indentation level, this means it ends at the first line which has
   a smaller indentation than the first line of the help text.
 
-- misc options: "option" <symbol>[=<value>]
-
-  Various less common options can be defined via this option syntax,
-  which can modify the behaviour of the menu entry and its config
-  symbol. These options are currently possible:
-
-  - "modules"
-    This declares the symbol to be used as the MODULES symbol, which
-    enables the third modular state for all config symbols.
-    At most one symbol may have the "modules" option set.
+- module attribute: "modules"
+  This declares the symbol to be used as the MODULES symbol, which
+  enables the third modular state for all config symbols.
+  At most one symbol may have the "modules" option set.
 
 Menu dependencies
 -----------------
index b5c6565..ab9a284 100644 (file)
@@ -2042,7 +2042,7 @@ config MODULE_SIG_FORMAT
 
 menuconfig MODULES
        bool "Enable loadable module support"
-       option modules
+       modules
        help
          Kernel modules are small pieces of compiled code which can
          be inserted in the running kernel, rather than being
index 08c96a6..312cbad 100644 (file)
@@ -112,7 +112,6 @@ n   [A-Za-z0-9_-]
 "menuconfig"           return T_MENUCONFIG;
 "modules"              return T_MODULES;
 "on"                   return T_ON;
-"option"               return T_OPTION;
 "optional"             return T_OPTIONAL;
 "prompt"               return T_PROMPT;
 "range"                        return T_RANGE;
index 679ebad..01666f5 100644 (file)
@@ -95,7 +95,6 @@ void menu_add_visibility(struct expr *dep);
 struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
 void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
 void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
-void menu_add_option_modules(void);
 void menu_finalize(struct menu *parent);
 void menu_set_type(int type);
 
index d50d0de..8b2108b 100644 (file)
@@ -211,14 +211,6 @@ void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep)
        menu_add_prop(type, expr_alloc_symbol(sym), dep);
 }
 
-void menu_add_option_modules(void)
-{
-       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;
-}
-
 static int menu_validate_number(struct symbol *sym, struct symbol *sym2)
 {
        return sym2->type == S_INT || sym2->type == S_HEX ||
index 2ada169..e46ce21 100644 (file)
@@ -69,7 +69,6 @@ static struct menu *current_menu, *current_entry;
 %token T_MODULES
 %token T_ON
 %token T_OPEN_PAREN
-%token T_OPTION
 %token T_OPTIONAL
 %token T_PLUS_EQUAL
 %token T_PROMPT
@@ -216,9 +215,12 @@ config_option: T_RANGE symbol symbol if_expr T_EOL
        printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
 };
 
-config_option: T_OPTION T_MODULES T_EOL
+config_option: T_MODULES T_EOL
 {
-       menu_add_option_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;
 };
 
 /* choice entry */
index a412205..0930eb6 100644 (file)
@@ -2,7 +2,7 @@
 
 config MODULES
        bool "Enable loadable module support"
-       option modules
+       modules
        default y
 
 choice
index 7106c26..bd970ce 100644 (file)
@@ -2,7 +2,7 @@
 
 config MODULES
        def_bool y
-       option modules
+       modules
 
 config DEP
        tristate
index 5698a40..26c25f6 100644 (file)
@@ -2,7 +2,7 @@
 
 config MODULES
        def_bool y
-       option modules
+       modules
 
 choice
        prompt "Choice"