diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2005-11-09 06:34:48 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 16:55:53 +0100 |
commit | 3f23ca2b37d13a89bb6cd0421821fc9c3b8ccd47 (patch) | |
tree | 134efbc253baa6aef5c2a39ffc4c5ab66dba7902 /scripts/kconfig/conf.c | |
parent | [PATCH] kconfig: Fix Kconfig performance bug (diff) | |
download | linux-3f23ca2b37d13a89bb6cd0421821fc9c3b8ccd47.tar.xz linux-3f23ca2b37d13a89bb6cd0421821fc9c3b8ccd47.zip |
[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.c | 7 |
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) return; sym = menu->sym; - if (sym) { - if (sym_is_changable(sym) && !sym_has_value(sym)) { + if (sym && !sym_has_value(sym)) { + if (sym_is_changable(sym) || + (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) { if (!conf_cnt++) printf(_("*\n* Restart config...\n*\n")); rootEntry = menu_get_parent_menu(menu); conf(rootEntry); } - if (sym_is_choice(sym) && sym_get_tristate_value(sym) != mod) - return; } for (child = menu->list; child; child = child->next) |