Commit fb8dd482 authored by Masahiro Yamada's avatar Masahiro Yamada

kconfig: use sym_get_choice_menu() in conf_write_defconfig()

Choices and their members are associated via the P_CHOICE property.

Currently, prop_get_symbol(sym_get_choice_prop()) is used to obtain
the choice of the given choice member.

Replace it with sym_get_choice_menu(), which retrieves the choice
without relying on P_CHOICE.
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent 7bcf2e03
...@@ -794,6 +794,8 @@ int conf_write_defconfig(const char *filename) ...@@ -794,6 +794,8 @@ int conf_write_defconfig(const char *filename)
sym_clear_all_valid(); sym_clear_all_valid();
menu_for_each_entry(menu) { menu_for_each_entry(menu) {
struct menu *choice;
sym = menu->sym; sym = menu->sym;
if (sym && !sym_is_choice(sym)) { if (sym && !sym_is_choice(sym)) {
sym_calc_value(sym); sym_calc_value(sym);
...@@ -811,12 +813,11 @@ int conf_write_defconfig(const char *filename) ...@@ -811,12 +813,11 @@ int conf_write_defconfig(const char *filename)
* If symbol is a choice value and equals to the * If symbol is a choice value and equals to the
* default for a choice - skip. * default for a choice - skip.
*/ */
if (sym_is_choice_value(sym)) { choice = sym_get_choice_menu(sym);
struct symbol *cs; if (choice) {
struct symbol *ds; struct symbol *ds;
cs = prop_get_symbol(sym_get_choice_prop(sym)); ds = sym_choice_default(choice->sym);
ds = sym_choice_default(cs);
if (sym == ds) { if (sym == ds) {
if ((sym->type == S_BOOLEAN) && if ((sym->type == S_BOOLEAN) &&
sym_get_tristate_value(sym) == yes) sym_get_tristate_value(sym) == yes)
......
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