kconfig: use sym_get_choice_menu() in sym_check_choice_deps()
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 18 Jun 2024 10:35:28 +0000 (19:35 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Mon, 15 Jul 2024 16:08:37 +0000 (01:08 +0900)
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: Masahiro Yamada <masahiroy@kernel.org>
scripts/kconfig/symbol.c

index 79f1b5e..22c15a1 100644 (file)
@@ -1280,9 +1280,13 @@ out:
                if (menu->sym)
                        menu->sym->flags &= ~SYMBOL_CHECK;
 
-       if (sym2 && sym_is_choice_value(sym2) &&
-           prop_get_symbol(sym_get_choice_prop(sym2)) == choice)
-               sym2 = choice;
+       if (sym2) {
+               struct menu *choice_menu2;
+
+               choice_menu2 = sym_get_choice_menu(sym2);
+               if (choice_menu2 == choice_menu)
+                       sym2 = choice;
+       }
 
        dep_stack_remove();