[PATCH] kconfig: remove SYMBOL_NO_WRITE flag
From: Masahiro Yamada
Date: Sat Apr 27 2024 - 05:16:52 EST
This flag is set to symbols that are not intended to be written
to the .config file.
Since commit b75b0a819af9 ("kconfig: change defconfig_list option to
environment variable"), SYMBOL_NO_WRITE is only set to choices.
Therefore, (sym->flags & SYMBOL_NO_WRITE) is equivalent to
sym_is_choice(sym). This flags is no longer necessary.
Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---
scripts/kconfig/confdata.c | 4 ++--
scripts/kconfig/expr.h | 1 -
scripts/kconfig/gconf.c | 2 --
scripts/kconfig/parser.y | 2 +-
scripts/kconfig/symbol.c | 3 +--
5 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index bcce87658998..5caec434e6f4 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -502,7 +502,7 @@ int conf_read(const char *name)
for_all_symbols(sym) {
sym_calc_value(sym);
- if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE))
+ if (sym_is_choice(sym))
continue;
if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) {
/* check that calculated value agrees with saved value */
@@ -1007,7 +1007,7 @@ static int conf_touch_deps(void)
for_all_symbols(sym) {
sym_calc_value(sym);
- if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name)
+ if (sym_is_choice(sym))
continue;
if (sym->flags & SYMBOL_WRITE) {
if (sym->flags & SYMBOL_DEF_AUTO) {
diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h
index f646a98de006..d965e427753e 100644
--- a/scripts/kconfig/expr.h
+++ b/scripts/kconfig/expr.h
@@ -135,7 +135,6 @@ struct symbol {
#define SYMBOL_WRITE 0x0200 /* write symbol to file (KCONFIG_CONFIG) */
#define SYMBOL_CHANGED 0x0400 /* ? */
#define SYMBOL_WRITTEN 0x0800 /* track info to avoid double-write to .config */
-#define SYMBOL_NO_WRITE 0x1000 /* Symbol for internal use only; it will not be written */
#define SYMBOL_CHECKED 0x2000 /* used during dependency checking */
#define SYMBOL_WARNED 0x8000 /* warning has been issued */
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index 13e2449ac83f..67a27c497c40 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -91,8 +91,6 @@ static const char *dbg_sym_flags(int val)
strcat(buf, "write/");
if (val & SYMBOL_CHANGED)
strcat(buf, "changed/");
- if (val & SYMBOL_NO_WRITE)
- strcat(buf, "no_write/");
buf[strlen(buf) - 1] = '\0';
diff --git a/scripts/kconfig/parser.y b/scripts/kconfig/parser.y
index 69dc0c098acb..613fa8c9c2d0 100644
--- a/scripts/kconfig/parser.y
+++ b/scripts/kconfig/parser.y
@@ -222,7 +222,7 @@ config_option: T_MODULES T_EOL
choice: T_CHOICE T_EOL
{
struct symbol *sym = sym_lookup(NULL, 0);
- sym->flags |= SYMBOL_NO_WRITE;
+
menu_add_entry(sym);
menu_add_expr(P_CHOICE, NULL, NULL);
printd(DEBUG_PARSE, "%s:%d:choice\n", cur_filename, cur_lineno);
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
index 8b34992ba5ed..b909c64f3bac 100644
--- a/scripts/kconfig/symbol.c
+++ b/scripts/kconfig/symbol.c
@@ -466,10 +466,9 @@ void sym_calc_value(struct symbol *sym)
if (sym->flags & SYMBOL_CHANGED)
sym_set_changed(choice_sym);
}
- }
- if (sym->flags & SYMBOL_NO_WRITE)
sym->flags &= ~SYMBOL_WRITE;
+ }
if (sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES)
set_all_choice_values(sym);
--
2.40.1