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: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
parent
b139b43e9d
commit
ca4c74ba30
@ -167,7 +167,6 @@ enum prop_type {
|
|||||||
P_COMMENT, /* text associated with a comment */
|
P_COMMENT, /* text associated with a comment */
|
||||||
P_MENU, /* prompt associated with a menu or menuconfig symbol */
|
P_MENU, /* prompt associated with a menu or menuconfig symbol */
|
||||||
P_DEFAULT, /* default y */
|
P_DEFAULT, /* default y */
|
||||||
P_CHOICE, /* choice value */
|
|
||||||
P_SELECT, /* select BAR */
|
P_SELECT, /* select BAR */
|
||||||
P_IMPLY, /* imply BAR */
|
P_IMPLY, /* imply BAR */
|
||||||
P_RANGE, /* range 7..100 (for a symbol) */
|
P_RANGE, /* range 7..100 (for a symbol) */
|
||||||
@ -181,7 +180,7 @@ struct property {
|
|||||||
struct expr_value visible;
|
struct expr_value visible;
|
||||||
struct expr *expr; /* the optional conditional part of the property */
|
struct expr *expr; /* the optional conditional part of the property */
|
||||||
struct menu *menu; /* the menu the property are associated with
|
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 */
|
* P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */
|
||||||
const char *filename; /* what file was this property defined */
|
const char *filename; /* what file was this property defined */
|
||||||
int lineno; /* what lineno 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) \
|
for (st = sym->prop; st; st = st->next) \
|
||||||
if (st->type == (tok))
|
if (st->type == (tok))
|
||||||
#define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT)
|
#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) \
|
#define for_all_prompts(sym, st) \
|
||||||
for (st = sym->prop; st; st = st->next) \
|
for (st = sym->prop; st; st = st->next) \
|
||||||
if (st->text)
|
if (st->text)
|
||||||
|
@ -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_string_within_range(struct symbol *sym, const char *str);
|
||||||
bool sym_set_string_value(struct symbol *sym, const char *newval);
|
bool sym_set_string_value(struct symbol *sym, const char *newval);
|
||||||
bool sym_is_changeable(struct symbol *sym);
|
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);
|
struct menu *sym_get_choice_menu(struct symbol *sym);
|
||||||
const char * sym_get_string_value(struct symbol *sym);
|
const char * sym_get_string_value(struct symbol *sym);
|
||||||
|
|
||||||
|
@ -306,7 +306,7 @@ static void _menu_finalize(struct menu *parent, bool inside_choice)
|
|||||||
struct menu *menu, *last_menu;
|
struct menu *menu, *last_menu;
|
||||||
struct symbol *sym;
|
struct symbol *sym;
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
struct expr *parentdep, *basedep, *dep, *dep2, **ep;
|
struct expr *parentdep, *basedep, *dep, *dep2;
|
||||||
|
|
||||||
sym = parent->sym;
|
sym = parent->sym;
|
||||||
if (parent->list) {
|
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) {
|
for (menu = parent->list; menu; menu = menu->next) {
|
||||||
if (sym && sym_is_choice(sym) &&
|
if (sym && sym_is_choice(sym) &&
|
||||||
menu->sym && !sym_is_choice_value(menu->sym)) {
|
menu->sym && !sym_is_choice_value(menu->sym)) {
|
||||||
current_entry = menu;
|
|
||||||
menu->sym->flags |= SYMBOL_CHOICEVAL;
|
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -241,7 +241,6 @@ choice: T_CHOICE T_EOL
|
|||||||
struct symbol *sym = sym_lookup(NULL, 0);
|
struct symbol *sym = sym_lookup(NULL, 0);
|
||||||
|
|
||||||
menu_add_entry(sym);
|
menu_add_entry(sym);
|
||||||
menu_add_expr(P_CHOICE, NULL, NULL);
|
|
||||||
menu_set_type(S_BOOLEAN);
|
menu_set_type(S_BOOLEAN);
|
||||||
INIT_LIST_HEAD(¤t_entry->choice_members);
|
INIT_LIST_HEAD(¤t_entry->choice_members);
|
||||||
|
|
||||||
@ -696,9 +695,6 @@ static void print_symbol(FILE *out, struct menu *menu)
|
|||||||
}
|
}
|
||||||
fputc('\n', out);
|
fputc('\n', out);
|
||||||
break;
|
break;
|
||||||
case P_CHOICE:
|
|
||||||
fputs(" #choice value\n", out);
|
|
||||||
break;
|
|
||||||
case P_SELECT:
|
case P_SELECT:
|
||||||
fputs( " select ", out);
|
fputs( " select ", out);
|
||||||
expr_fprint(prop->expr, out);
|
expr_fprint(prop->expr, out);
|
||||||
|
@ -1101,14 +1101,6 @@ QString ConfigInfoView::debug_info(struct symbol *sym)
|
|||||||
&stream, E_NONE);
|
&stream, E_NONE);
|
||||||
stream << "<br>";
|
stream << "<br>";
|
||||||
break;
|
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:
|
default:
|
||||||
stream << "unknown property: ";
|
stream << "unknown property: ";
|
||||||
stream << prop_get_type_name(prop->type);
|
stream << prop_get_type_name(prop->type);
|
||||||
|
@ -68,15 +68,6 @@ const char *sym_type_name(enum symbol_type type)
|
|||||||
return "???";
|
return "???";
|
||||||
}
|
}
|
||||||
|
|
||||||
struct property *sym_get_choice_prop(struct symbol *sym)
|
|
||||||
{
|
|
||||||
struct property *prop;
|
|
||||||
|
|
||||||
for_all_choices(sym, prop)
|
|
||||||
return prop;
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sym_get_choice_menu - get the parent choice menu if present
|
* sym_get_choice_menu - get the parent choice menu if present
|
||||||
*
|
*
|
||||||
@ -1225,8 +1216,7 @@ static struct symbol *sym_check_sym_deps(struct symbol *sym)
|
|||||||
stack.expr = NULL;
|
stack.expr = NULL;
|
||||||
|
|
||||||
for (prop = sym->prop; prop; prop = prop->next) {
|
for (prop = sym->prop; prop; prop = prop->next) {
|
||||||
if (prop->type == P_CHOICE || prop->type == P_SELECT ||
|
if (prop->type == P_SELECT || prop->type == P_IMPLY)
|
||||||
prop->type == P_IMPLY)
|
|
||||||
continue;
|
continue;
|
||||||
stack.prop = prop;
|
stack.prop = prop;
|
||||||
sym2 = sym_check_expr_deps(prop->visible.expr);
|
sym2 = sym_check_expr_deps(prop->visible.expr);
|
||||||
@ -1343,8 +1333,6 @@ const char *prop_get_type_name(enum prop_type type)
|
|||||||
return "menu";
|
return "menu";
|
||||||
case P_DEFAULT:
|
case P_DEFAULT:
|
||||||
return "default";
|
return "default";
|
||||||
case P_CHOICE:
|
|
||||||
return "choice";
|
|
||||||
case P_SELECT:
|
case P_SELECT:
|
||||||
return "select";
|
return "select";
|
||||||
case P_IMPLY:
|
case P_IMPLY:
|
||||||
|
Loading…
Reference in New Issue
Block a user