Commit 826ee96d authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

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: default avatarMasahiro Yamada <masahiroy@kernel.org>
Reviewed-by: default avatarNicolas Schier <nicolas@fjasle.eu>
parent fde19251
Loading
Loading
Loading
Loading
+30 −31
Original line number Diff line number Diff line
@@ -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;
			val = yes;
			break;
		case def_mod:
				sym->def[S_DEF_USER].tri = mod;
			val = mod;
			break;
		case def_no:
				sym->def[S_DEF_USER].tri = no;
			val = no;
			break;
		case def_random:
				sym->def[S_DEF_USER].tri = no;
			val = no;
			cnt = rand() % 100;
			if (sym->type == S_TRISTATE) {
				if (cnt < pty)
						sym->def[S_DEF_USER].tri = yes;
					val = yes;
				else if (cnt < pty + ptm)
						sym->def[S_DEF_USER].tri = mod;
				} else if (cnt < pby)
					sym->def[S_DEF_USER].tri = yes;
					val = mod;
			} else if (cnt < pby) {
				val = yes;
			}
			break;
		default:
			continue;
		}
		sym->def[S_DEF_USER].tri = val;

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

	}

	sym_clear_all_valid();