Commit c83f0209 authored by Masahiro Yamada's avatar Masahiro Yamada

kconfig: remove named choice support

Commit 5a1aa8a1 ("kconfig: add named choice group") did not provide
enough explanation regarding its benefits. A use case was found in
another project [1] sometime later, this feature has never been used in
the kernel.

[1]: https://lore.kernel.org/all/201012150034.01356.yann.morin.1998@anciens.enib.fr/Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
parent bedf9236
...@@ -393,7 +393,7 @@ of C0, which doesn't depend on M:: ...@@ -393,7 +393,7 @@ of C0, which doesn't depend on M::
choices:: choices::
"choice" [symbol] "choice"
<choice options> <choice options>
<choice block> <choice block>
"endchoice" "endchoice"
...@@ -412,10 +412,6 @@ the kernel, but all drivers can be compiled as modules. ...@@ -412,10 +412,6 @@ the kernel, but all drivers can be compiled as modules.
A choice accepts another option "optional", which allows to set the A choice accepts another option "optional", which allows to set the
choice to 'n' and no entry needs to be selected. choice to 'n' and no entry needs to be selected.
If no [symbol] is associated with a choice, then you can not have multiple
definitions of that choice. If a [symbol] is associated to the choice,
then you may define the same choice (i.e. with the same entries) in another
place.
comment:: comment::
......
...@@ -94,7 +94,7 @@ struct menu *current_menu, *current_entry; ...@@ -94,7 +94,7 @@ struct menu *current_menu, *current_entry;
%type <expr> if_expr %type <expr> if_expr
%type <string> end %type <string> end
%type <menu> if_entry menu_entry choice_entry %type <menu> if_entry menu_entry choice_entry
%type <string> word_opt assign_val %type <string> assign_val
%type <flavor> assign_op %type <flavor> assign_op
%destructor { %destructor {
...@@ -222,13 +222,12 @@ config_option: T_MODULES T_EOL ...@@ -222,13 +222,12 @@ config_option: T_MODULES T_EOL
/* choice entry */ /* choice entry */
choice: T_CHOICE word_opt T_EOL choice: T_CHOICE T_EOL
{ {
struct symbol *sym = sym_lookup($2, SYMBOL_CHOICE); struct symbol *sym = sym_lookup(NULL, SYMBOL_CHOICE);
sym->flags |= SYMBOL_NO_WRITE; sym->flags |= SYMBOL_NO_WRITE;
menu_add_entry(sym); menu_add_entry(sym);
menu_add_expr(P_CHOICE, NULL, NULL); menu_add_expr(P_CHOICE, NULL, NULL);
free($2);
printd(DEBUG_PARSE, "%s:%d:choice\n", cur_filename, cur_lineno); printd(DEBUG_PARSE, "%s:%d:choice\n", cur_filename, cur_lineno);
}; };
...@@ -449,9 +448,6 @@ symbol: nonconst_symbol ...@@ -449,9 +448,6 @@ symbol: nonconst_symbol
| T_WORD_QUOTE { $$ = sym_lookup($1, SYMBOL_CONST); free($1); } | T_WORD_QUOTE { $$ = sym_lookup($1, SYMBOL_CONST); free($1); }
; ;
word_opt: /* empty */ { $$ = NULL; }
| T_WORD
/* assignment statement */ /* assignment statement */
assignment_stmt: T_WORD assign_op assign_val T_EOL { variable_add($1, $3, $2); free($1); free($3); } assignment_stmt: T_WORD assign_op assign_val T_EOL { variable_add($1, $3, $2); free($1); free($3); }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment