Commit c83f0209 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

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
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ of C0, which doesn't depend on M::

choices::

	"choice" [symbol]
	"choice"
	<choice options>
	<choice block>
	"endchoice"
@@ -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
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::

+3 −7
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ struct menu *current_menu, *current_entry;
%type <expr> if_expr
%type <string> end
%type <menu> if_entry menu_entry choice_entry
%type <string> word_opt assign_val
%type <string> assign_val
%type <flavor> assign_op

%destructor {
@@ -222,13 +222,12 @@ config_option: T_MODULES T_EOL

/* 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;
	menu_add_entry(sym);
	menu_add_expr(P_CHOICE, NULL, NULL);
	free($2);
	printd(DEBUG_PARSE, "%s:%d:choice\n", cur_filename, cur_lineno);
};

@@ -449,9 +448,6 @@ symbol: nonconst_symbol
	| T_WORD_QUOTE	{ $$ = sym_lookup($1, SYMBOL_CONST); free($1); }
;

word_opt: /* empty */			{ $$ = NULL; }
	| T_WORD

/* assignment statement */

assignment_stmt:  T_WORD assign_op assign_val T_EOL	{ variable_add($1, $3, $2); free($1); free($3); }