1

kconfig: refactor conf_set_all_new_symbols() to reduce indentation level

The outer switch statement can be avoided by continue'ing earlier the
loop when the symbol type is neither S_BOOLEAN nor S_TRISTATE.

Remove it to reduce the indentation level by one. In addition, avoid
the repetition of sym->def[S_DEF_USER].tri.

No functional change intended.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
This commit is contained in:
Masahiro Yamada 2024-06-02 21:54:15 +09:00
parent fde192511b
commit 826ee96dd4

View File

@ -218,43 +218,42 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode)
} }
for_all_symbols(sym) { for_all_symbols(sym) {
if (sym_has_value(sym) || sym->flags & SYMBOL_VALID) tristate val;
if (sym_has_value(sym) || sym->flags & SYMBOL_VALID ||
(sym->type != S_BOOLEAN && sym->type != S_TRISTATE))
continue; continue;
switch (sym_get_type(sym)) {
case S_BOOLEAN:
case S_TRISTATE:
has_changed = true; has_changed = true;
switch (mode) { switch (mode) {
case def_yes: case def_yes:
sym->def[S_DEF_USER].tri = yes; val = yes;
break; break;
case def_mod: case def_mod:
sym->def[S_DEF_USER].tri = mod; val = mod;
break; break;
case def_no: case def_no:
sym->def[S_DEF_USER].tri = no; val = no;
break; break;
case def_random: case def_random:
sym->def[S_DEF_USER].tri = no; val = no;
cnt = rand() % 100; cnt = rand() % 100;
if (sym->type == S_TRISTATE) { if (sym->type == S_TRISTATE) {
if (cnt < pty) if (cnt < pty)
sym->def[S_DEF_USER].tri = yes; val = yes;
else if (cnt < pty + ptm) else if (cnt < pty + ptm)
sym->def[S_DEF_USER].tri = mod; val = mod;
} else if (cnt < pby) } else if (cnt < pby) {
sym->def[S_DEF_USER].tri = yes; val = yes;
}
break; break;
default: default:
continue; continue;
} }
sym->def[S_DEF_USER].tri = val;
if (!(sym_is_choice(sym) && mode == def_random)) if (!(sym_is_choice(sym) && mode == def_random))
sym->flags |= SYMBOL_DEF_USER; sym->flags |= SYMBOL_DEF_USER;
break;
default:
break;
}
} }
sym_clear_all_valid(); sym_clear_all_valid();