diff mbox series

kconfig: remove SYMBOL_NO_WRITE flag

Message ID 20240427091638.2722050-1-masahiroy@kernel.org (mailing list archive)
State New
Headers show
Series kconfig: remove SYMBOL_NO_WRITE flag | expand

Commit Message

Masahiro Yamada April 27, 2024, 9:16 a.m. UTC
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@kernel.org>
---

 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(-)

Comments

Masahiro Yamada April 27, 2024, 10:05 a.m. UTC | #1
On Sat, Apr 27, 2024 at 6:16 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> 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.


"This flags" -> "This flag"


>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
>  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
>
diff mbox series

Patch

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);