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

kconfig: remove P_CHOICE property



P_CHOICE is a pseudo property used to link a choice with its members.

There is no more code relying on this, except for some debug code.

Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent b139b43e
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -167,7 +167,6 @@ enum prop_type {
	P_COMMENT,  /* text associated with a comment */
	P_MENU,     /* prompt associated with a menu or menuconfig symbol */
	P_DEFAULT,  /* default y */
	P_CHOICE,   /* choice value */
	P_SELECT,   /* select BAR */
	P_IMPLY,    /* imply BAR */
	P_RANGE,    /* range 7..100 (for a symbol) */
@@ -181,7 +180,7 @@ struct property {
	struct expr_value visible;
	struct expr *expr;         /* the optional conditional part of the property */
	struct menu *menu;         /* the menu the property are associated with
	                            * valid for: P_SELECT, P_RANGE, P_CHOICE,
	                            * valid for: P_SELECT, P_RANGE,
	                            * P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */
	const char *filename;      /* what file was this property defined */
	int lineno;                /* what lineno was this property defined */
@@ -191,7 +190,6 @@ struct property {
	for (st = sym->prop; st; st = st->next) \
		if (st->type == (tok))
#define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT)
#define for_all_choices(sym, st) for_all_properties(sym, st, P_CHOICE)
#define for_all_prompts(sym, st) \
	for (st = sym->prop; st; st = st->next) \
		if (st->text)
+0 −1
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ bool sym_string_valid(struct symbol *sym, const char *newval);
bool sym_string_within_range(struct symbol *sym, const char *str);
bool sym_set_string_value(struct symbol *sym, const char *newval);
bool sym_is_changeable(struct symbol *sym);
struct property * sym_get_choice_prop(struct symbol *sym);
struct menu *sym_get_choice_menu(struct symbol *sym);
const char * sym_get_string_value(struct symbol *sym);

+1 −8
Original line number Diff line number Diff line
@@ -306,7 +306,7 @@ static void _menu_finalize(struct menu *parent, bool inside_choice)
	struct menu *menu, *last_menu;
	struct symbol *sym;
	struct property *prop;
	struct expr *parentdep, *basedep, *dep, *dep2, **ep;
	struct expr *parentdep, *basedep, *dep, *dep2;

	sym = parent->sym;
	if (parent->list) {
@@ -490,14 +490,7 @@ static void _menu_finalize(struct menu *parent, bool inside_choice)
	for (menu = parent->list; menu; menu = menu->next) {
		if (sym && sym_is_choice(sym) &&
		    menu->sym && !sym_is_choice_value(menu->sym)) {
			current_entry = menu;
			menu->sym->flags |= SYMBOL_CHOICEVAL;
			menu_add_symbol(P_CHOICE, sym, NULL);
			prop = sym_get_choice_prop(sym);
			for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr)
				;
			*ep = expr_alloc_one(E_LIST, NULL);
			(*ep)->right.sym = menu->sym;
		}

		/*
+0 −4
Original line number Diff line number Diff line
@@ -241,7 +241,6 @@ choice: T_CHOICE T_EOL
	struct symbol *sym = sym_lookup(NULL, 0);

	menu_add_entry(sym);
	menu_add_expr(P_CHOICE, NULL, NULL);
	menu_set_type(S_BOOLEAN);
	INIT_LIST_HEAD(&current_entry->choice_members);

@@ -696,9 +695,6 @@ static void print_symbol(FILE *out, struct menu *menu)
			}
			fputc('\n', out);
			break;
		case P_CHOICE:
			fputs("  #choice value\n", out);
			break;
		case P_SELECT:
			fputs( "  select ", out);
			expr_fprint(prop->expr, out);
+0 −8
Original line number Diff line number Diff line
@@ -1101,14 +1101,6 @@ QString ConfigInfoView::debug_info(struct symbol *sym)
				   &stream, E_NONE);
			stream << "<br>";
			break;
		case P_CHOICE:
			if (sym_is_choice(sym)) {
				stream << "choice: ";
				expr_print(prop->expr, expr_print_help,
					   &stream, E_NONE);
				stream << "<br>";
			}
			break;
		default:
			stream << "unknown property: ";
			stream << prop_get_type_name(prop->type);
Loading