Commit 6e6d0e91 authored by Masahiro Yamada's avatar Masahiro Yamada

kconfig: use menu_list_for_each_sym() in sym_choice_default()

Choices and their members are associated via the P_CHOICE property.

Currently, sym_get_choice_prop() and expr_list_for_each_sym() are
used to iterate on choice members.

Replace them with menu_for_each_sub_entry(), which achieves the same
without relying on P_CHOICE.
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent e8fcd915
...@@ -257,9 +257,9 @@ static void sym_calc_visibility(struct symbol *sym) ...@@ -257,9 +257,9 @@ static void sym_calc_visibility(struct symbol *sym)
*/ */
struct symbol *sym_choice_default(struct menu *choice) struct symbol *sym_choice_default(struct menu *choice)
{ {
struct menu *menu;
struct symbol *def_sym; struct symbol *def_sym;
struct property *prop; struct property *prop;
struct expr *e;
/* any of the defaults visible? */ /* any of the defaults visible? */
for_all_defaults(choice->sym, prop) { for_all_defaults(choice->sym, prop) {
...@@ -272,10 +272,9 @@ struct symbol *sym_choice_default(struct menu *choice) ...@@ -272,10 +272,9 @@ struct symbol *sym_choice_default(struct menu *choice)
} }
/* just get the first visible value */ /* just get the first visible value */
prop = sym_get_choice_prop(choice->sym); menu_for_each_sub_entry(menu, choice)
expr_list_for_each_sym(prop->expr, e, def_sym) if (menu->sym && menu->sym->visible != no)
if (def_sym->visible != no) return menu->sym;
return def_sym;
/* failed to locate any defaults */ /* failed to locate any defaults */
return NULL; return NULL;
......
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