Skip to content

Commit

Permalink
kconfig: refactor conf_set_all_new_symbols() to reduce indentation level
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Masahiro Yamada committed Jul 15, 2024
1 parent fde1925 commit 826ee96
Showing 1 changed file with 30 additions and 31 deletions.
61 changes: 30 additions & 31 deletions scripts/kconfig/conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,43 +218,42 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode)
}

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;
switch (sym_get_type(sym)) {
case S_BOOLEAN:
case S_TRISTATE:
has_changed = true;
switch (mode) {
case def_yes:
sym->def[S_DEF_USER].tri = yes;
break;
case def_mod:
sym->def[S_DEF_USER].tri = mod;
break;
case def_no:
sym->def[S_DEF_USER].tri = no;
break;
case def_random:
sym->def[S_DEF_USER].tri = no;
cnt = rand() % 100;
if (sym->type == S_TRISTATE) {
if (cnt < pty)
sym->def[S_DEF_USER].tri = yes;
else if (cnt < pty + ptm)
sym->def[S_DEF_USER].tri = mod;
} else if (cnt < pby)
sym->def[S_DEF_USER].tri = yes;
break;
default:
continue;

has_changed = true;
switch (mode) {
case def_yes:
val = yes;
break;
case def_mod:
val = mod;
break;
case def_no:
val = no;
break;
case def_random:
val = no;
cnt = rand() % 100;
if (sym->type == S_TRISTATE) {
if (cnt < pty)
val = yes;
else if (cnt < pty + ptm)
val = mod;
} else if (cnt < pby) {
val = yes;
}
if (!(sym_is_choice(sym) && mode == def_random))
sym->flags |= SYMBOL_DEF_USER;
break;
default:
break;
continue;
}
sym->def[S_DEF_USER].tri = val;

if (!(sym_is_choice(sym) && mode == def_random))
sym->flags |= SYMBOL_DEF_USER;
}

sym_clear_all_valid();
Expand Down

0 comments on commit 826ee96

Please sign in to comment.