util/kconfig: Uprev to Linux 5.18's kconfig

Only minor changes in kconfig this time that shouldn't affect us.

TEST=`util/abuild/abuild -C` output (build.h and build.conf) remains
the same

Change-Id: I46f43182ce9ec1b6a5923cb77dcd6e335e44c87a
Signed-off-by: Patrick Georgi <patrick@coreboot.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/66047
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
This commit is contained in:
Patrick Georgi 2022-10-28 01:00:26 +02:00 committed by Patrick Georgi
parent 7eb03cb657
commit 5526be21ea
2 changed files with 20 additions and 24 deletions

View File

@ -678,13 +678,6 @@ static char *escape_string_value(const char *in)
return out; return out;
} }
/*
* Kconfig configuration printer
*
* This printer is used when generating the resulting configuration after
* kconfig invocation and `defconfig' files. Unset symbol might be omitted by
* passing a non-NULL argument to the printer.
*/
enum output_n { OUTPUT_N, OUTPUT_N_AS_UNSET, OUTPUT_N_NONE }; enum output_n { OUTPUT_N, OUTPUT_N_AS_UNSET, OUTPUT_N_NONE };
static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n, static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n,
@ -938,19 +931,20 @@ next:
menu = menu->list; menu = menu->list;
continue; continue;
} }
if (menu->next)
menu = menu->next; end_check:
else while ((menu = menu->parent)) { if (!menu->sym && menu_is_visible(menu) && menu != &rootmenu &&
if (!menu->sym && menu_is_visible(menu) && menu->prompt->type == P_MENU) {
menu != &rootmenu) { fprintf(out, "# end of %s\n", menu_get_prompt(menu));
str = menu_get_prompt(menu);
fprintf(out, "# end of %s\n", str);
need_newline = true; need_newline = true;
} }
if (menu->next) { if (menu->next) {
menu = menu->next; menu = menu->next;
break; } else {
} menu = menu->parent;
if (menu)
goto end_check;
} }
} }
fclose(out); fclose(out);
@ -1014,6 +1008,7 @@ static int conf_write_autoconf_cmd(const char *autoconf_name)
fprintf(out, "\n$(deps_config): ;\n"); fprintf(out, "\n$(deps_config): ;\n");
fflush(out);
ret = ferror(out); /* error check for all fprintf() calls */ ret = ferror(out); /* error check for all fprintf() calls */
fclose(out); fclose(out);
if (ret) if (ret)
@ -1133,6 +1128,7 @@ static int __conf_write_autoconf(const char *filename,
if (((sym->flags & SYMBOL_WRITE) || (print_negatives && sym->type != S_STRING)) && sym->name) if (((sym->flags & SYMBOL_WRITE) || (print_negatives && sym->type != S_STRING)) && sym->name)
print_symbol(file, sym); print_symbol(file, sym);
fflush(file);
/* check possible errors in conf_write_heading() and print_symbol() */ /* check possible errors in conf_write_heading() and print_symbol() */
ret = ferror(file); ret = ferror(file);
fclose(file); fclose(file);

View File

@ -27,7 +27,7 @@ Index: kconfig/confdata.c
=================================================================== ===================================================================
--- kconfig.orig/confdata.c --- kconfig.orig/confdata.c
+++ kconfig/confdata.c +++ kconfig/confdata.c
@@ -722,7 +722,12 @@ static void print_symbol_for_dotconfig(F @@ -715,7 +715,12 @@ static void print_symbol_for_dotconfig(F
static void print_symbol_for_autoconf(FILE *fp, struct symbol *sym) static void print_symbol_for_autoconf(FILE *fp, struct symbol *sym)
{ {
@ -41,7 +41,7 @@ Index: kconfig/confdata.c
} }
void print_symbol_for_listconfig(struct symbol *sym) void print_symbol_for_listconfig(struct symbol *sym)
@@ -747,6 +752,10 @@ static void print_symbol_for_c(FILE *fp, @@ -740,6 +745,10 @@ static void print_symbol_for_c(FILE *fp,
case S_TRISTATE: case S_TRISTATE:
switch (*val) { switch (*val) {
case 'n': case 'n':
@ -52,7 +52,7 @@ Index: kconfig/confdata.c
return; return;
case 'm': case 'm':
sym_suffix = "_MODULE"; sym_suffix = "_MODULE";
@@ -758,6 +767,12 @@ static void print_symbol_for_c(FILE *fp, @@ -751,6 +760,12 @@ static void print_symbol_for_c(FILE *fp,
case S_HEX: case S_HEX:
if (val[0] != '0' || (val[1] != 'x' && val[1] != 'X')) if (val[0] != '0' || (val[1] != 'x' && val[1] != 'X'))
val_prefix = "0x"; val_prefix = "0x";
@ -65,7 +65,7 @@ Index: kconfig/confdata.c
break; break;
case S_STRING: case S_STRING:
escaped = escape_string_value(val); escaped = escape_string_value(val);
@@ -1113,8 +1128,9 @@ static int __conf_write_autoconf(const c @@ -1108,8 +1123,9 @@ static int __conf_write_autoconf(const c
conf_write_heading(file, comment_style); conf_write_heading(file, comment_style);
@ -75,4 +75,4 @@ Index: kconfig/confdata.c
+ if (((sym->flags & SYMBOL_WRITE) || (print_negatives && sym->type != S_STRING)) && sym->name) + if (((sym->flags & SYMBOL_WRITE) || (print_negatives && sym->type != S_STRING)) && sym->name)
print_symbol(file, sym); print_symbol(file, sym);
/* check possible errors in conf_write_heading() and print_symbol() */ fflush(file);