[PATCH 1/6] kconfig: do not call check_conf() for olddefconfig

From: Masahiro Yamada
Date: Wed Jan 10 2018 - 01:58:49 EST


check_conf() traverses the menu tree, but it is completely no-op for
olddefconfig because the following if-else block does nothing.

if (input_mode == listnewconfig) {
...
} else if (input_mode != olddefconfig) {
...
}

As the help message says, olddefconfig automatically sets new symbols
to their default value. There is no room for manual intervention.
So, calling check_conf() for olddefconfig is odd in the first place.
Rather, olddefconfig belongs to the group of alldefconfig and defconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
---

scripts/kconfig/conf.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 866369f..52cbe5d 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -434,7 +434,7 @@ static void check_conf(struct menu *menu)
if (sym->name && !sym_is_choice_value(sym)) {
printf("%s%s\n", CONFIG_, sym->name);
}
- } else if (input_mode != olddefconfig) {
+ } else {
if (!conf_cnt++)
printf(_("*\n* Restart config...\n*\n"));
rootEntry = menu_get_parent_menu(menu);
@@ -674,15 +674,15 @@ int main(int ac, char **av)
/* fall through */
case oldconfig:
case listnewconfig:
- case olddefconfig:
case silentoldconfig:
/* Update until a loop caused no more changes */
do {
conf_cnt = 0;
check_conf(&rootmenu);
- } while (conf_cnt &&
- (input_mode != listnewconfig &&
- input_mode != olddefconfig));
+ } while (conf_cnt && input_mode != listnewconfig);
+ break;
+ case olddefconfig:
+ default:
break;
}

--
2.7.4