summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2024-05-05 03:33:29 +0900
committerMasahiro Yamada <masahiroy@kernel.org>2024-05-10 04:34:53 +0900
commitfb8dd48214b0234ba03a808742f69690d9a9f500 (patch)
tree0d1c9f787f031a673e1d9209ac581497f48d1682
parent7bcf2e03b50256d13bcc1b08a43af9762bafbc0e (diff)
downloadlinux-stable-fb8dd48214b0234ba03a808742f69690d9a9f500.tar.gz
linux-stable-fb8dd48214b0234ba03a808742f69690d9a9f500.tar.bz2
linux-stable-fb8dd48214b0234ba03a808742f69690d9a9f500.zip
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: Masahiro Yamada <masahiroy@kernel.org>
-rw-r--r--scripts/kconfig/confdata.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 5caec434e6f4..387503daf0f7 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -794,6 +794,8 @@ int conf_write_defconfig(const char *filename)
sym_clear_all_valid();
menu_for_each_entry(menu) {
+ struct menu *choice;
+
sym = menu->sym;
if (sym && !sym_is_choice(sym)) {
sym_calc_value(sym);
@@ -811,12 +813,11 @@ int conf_write_defconfig(const char *filename)
* If symbol is a choice value and equals to the
* default for a choice - skip.
*/
- if (sym_is_choice_value(sym)) {
- struct symbol *cs;
+ choice = sym_get_choice_menu(sym);
+ if (choice) {
struct symbol *ds;
- cs = prop_get_symbol(sym_get_choice_prop(sym));
- ds = sym_choice_default(cs);
+ ds = sym_choice_default(choice->sym);
if (sym == ds) {
if ((sym->type == S_BOOLEAN) &&
sym_get_tristate_value(sym) == yes)