aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/conf.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2005-11-09 00:34:48 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 10:55:53 -0500
commit3f23ca2b37d13a89bb6cd0421821fc9c3b8ccd47 (patch)
tree134efbc253baa6aef5c2a39ffc4c5ab66dba7902 /scripts/kconfig/conf.c
parent3f04e7ddf47a1c821dfaa886161d94774af583fa (diff)
[PATCH] kconfig: fix restart for choice symbols
The restart check whether new symbols became visible, didn't always work for choice symbols. Even if a choice symbol itself isn't changable, the childs are. This also requires to update the new status of all choice values, once one of them is set. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/kconfig/conf.c')
-rw-r--r--scripts/kconfig/conf.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index bc20cab9d0d6..dffbf2ea1f9d 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -467,15 +467,14 @@ static void check_conf(struct menu *menu)
467 return; 467 return;
468 468
469 sym = menu->sym; 469 sym = menu->sym;
470 if (sym) { 470 if (sym && !sym_has_value(sym)) {
471 if (sym_is_changable(sym) && !sym_has_value(sym)) { 471 if (sym_is_changable(sym) ||
472 (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
472 if (!conf_cnt++) 473 if (!conf_cnt++)
473 printf(_("*\n* Restart config...\n*\n")); 474 printf(_("*\n* Restart config...\n*\n"));
474 rootEntry = menu_get_parent_menu(menu); 475 rootEntry = menu_get_parent_menu(menu);
475 conf(rootEntry); 476 conf(rootEntry);
476 } 477 }
477 if (sym_is_choice(sym) && sym_get_tristate_value(sym) != mod)
478 return;
479 } 478 }
480 479
481 for (child = menu->list; child; child = child->next) 480 for (child = menu->list; child; child = child->next)