Loading scripts/kconfig/conf.c +6 −6 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <sys/time.h> #include <errno.h> #include "internal.h" #include "lkc.h" static void conf(struct menu *menu); Loading Loading @@ -171,7 +172,7 @@ enum conf_def_mode { static bool conf_set_all_new_symbols(enum conf_def_mode mode) { struct symbol *sym, *csym; int i, cnt; int cnt; /* * can't go as the default in switch-case below, otherwise gcc whines * about -Wmaybe-uninitialized Loading Loading @@ -226,7 +227,7 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode) } } for_all_symbols(i, sym) { for_all_symbols(sym) { if (sym_has_value(sym) || sym->flags & SYMBOL_VALID) continue; switch (sym_get_type(sym)) { Loading Loading @@ -278,14 +279,14 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode) * and the rest to no. */ if (mode != def_random) { for_all_symbols(i, csym) { for_all_symbols(csym) { if ((sym_is_choice(csym) && !sym_has_value(csym)) || sym_is_choice_value(csym)) csym->flags |= SYMBOL_NEED_SET_CHOICE_VALUES; } } for_all_symbols(i, csym) { for_all_symbols(csym) { if (sym_has_value(csym) || !sym_is_choice(csym)) continue; Loading @@ -304,9 +305,8 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode) static void conf_rewrite_tristates(tristate old_val, tristate new_val) { struct symbol *sym; int i; for_all_symbols(i, sym) { for_all_symbols(sym) { if (sym_get_type(sym) == S_TRISTATE && sym->def[S_DEF_USER].tri == old_val) sym->def[S_DEF_USER].tri = new_val; Loading scripts/kconfig/confdata.c +12 −13 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include <time.h> #include <unistd.h> #include "internal.h" #include "lkc.h" struct gstr autoconf_cmd; Loading Loading @@ -322,7 +323,7 @@ int conf_read_simple(const char *name, int def) size_t line_asize = 0; char *p, *val; struct symbol *sym; int i, def_flags; int def_flags; const char *warn_unknown, *sym_name; warn_unknown = getenv("KCONFIG_WARN_UNKNOWN_SYMBOLS"); Loading Loading @@ -380,7 +381,7 @@ int conf_read_simple(const char *name, int def) conf_warnings = 0; def_flags = SYMBOL_DEF << def; for_all_symbols(i, sym) { for_all_symbols(sym) { sym->flags |= SYMBOL_CHANGED; sym->flags &= ~(def_flags|SYMBOL_VALID); if (sym_is_choice(sym)) Loading Loading @@ -489,7 +490,6 @@ int conf_read(const char *name) { struct symbol *sym; int conf_unsaved = 0; int i; conf_set_changed(false); Loading @@ -500,7 +500,7 @@ int conf_read(const char *name) sym_calc_value(modules_sym); for_all_symbols(i, sym) { for_all_symbols(sym) { sym_calc_value(sym); if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) continue; Loading @@ -524,7 +524,7 @@ int conf_read(const char *name) /* maybe print value in verbose mode... */ } for_all_symbols(i, sym) { for_all_symbols(sym) { if (sym_has_value(sym) && !sym_is_choice_value(sym)) { /* Reset values of generates values, so they'll appear * as new, if they should become visible, but that Loading Loading @@ -862,7 +862,6 @@ int conf_write(const char *name) const char *str; char tmpname[PATH_MAX + 1], oldname[PATH_MAX + 1]; char *env; int i; bool need_newline = false; if (!name) Loading Loading @@ -946,7 +945,7 @@ int conf_write(const char *name) } fclose(out); for_all_symbols(i, sym) for_all_symbols(sym) sym->flags &= ~SYMBOL_WRITTEN; if (*tmpname) { Loading Loading @@ -1016,7 +1015,7 @@ static int conf_touch_deps(void) { const char *name, *tmp; struct symbol *sym; int res, i; int res; name = conf_get_autoconfig_name(); tmp = strrchr(name, '/'); Loading @@ -1030,7 +1029,7 @@ static int conf_touch_deps(void) conf_read_simple(name, S_DEF_AUTO); sym_calc_value(modules_sym); for_all_symbols(i, sym) { for_all_symbols(sym) { sym_calc_value(sym); if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) continue; Loading Loading @@ -1096,7 +1095,7 @@ static int __conf_write_autoconf(const char *filename, char tmp[PATH_MAX]; FILE *file; struct symbol *sym; int ret, i; int ret; if (make_parent_dir(filename)) return -1; Loading @@ -1113,7 +1112,7 @@ static int __conf_write_autoconf(const char *filename, conf_write_heading(file, comment_style); for_all_symbols(i, sym) for_all_symbols(sym) if ((sym->flags & SYMBOL_WRITE) && sym->name) print_symbol(file, sym); Loading @@ -1136,7 +1135,7 @@ int conf_write_autoconf(int overwrite) { struct symbol *sym; const char *autoconf_name = conf_get_autoconfig_name(); int ret, i; int ret; if (!overwrite && is_present(autoconf_name)) return 0; Loading @@ -1148,7 +1147,7 @@ int conf_write_autoconf(int overwrite) if (conf_touch_deps()) return 1; for_all_symbols(i, sym) for_all_symbols(sym) sym_calc_value(sym); ret = __conf_write_autoconf(conf_get_autoheader_name(), Loading scripts/kconfig/expr.h +4 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ extern "C" { #include <stdbool.h> #endif #include "list_types.h" typedef enum tristate { no, mod, yes } tristate; Loading Loading @@ -74,8 +76,8 @@ enum { * SYMBOL_CHOICE bit set in 'flags'. */ struct symbol { /* The next symbol in the same bucket in the symbol hash table */ struct symbol *next; /* link node for the hash table */ struct hlist_node node; /* The name of the symbol, e.g. "FOO" for 'config FOO' */ char *name; Loading Loading @@ -124,8 +126,6 @@ struct symbol { struct expr_value implied; }; #define for_all_symbols(i, sym) for (i = 0; i < SYMBOL_HASHSIZE; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) #define SYMBOL_CONST 0x0001 /* symbol is const */ #define SYMBOL_CHECK 0x0008 /* used during dependency checking */ #define SYMBOL_CHOICE 0x0010 /* start of a choice block (null name) */ Loading @@ -150,7 +150,6 @@ struct symbol { #define SYMBOL_NEED_SET_CHOICE_VALUES 0x100000 #define SYMBOL_MAXLENGTH 256 #define SYMBOL_HASHSIZE 9973 /* A property represent the config options that can be associated * with a config "symbol". Loading scripts/kconfig/internal.h +9 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,15 @@ #ifndef INTERNAL_H #define INTERNAL_H #include "hashtable.h" #define SYMBOL_HASHSIZE (1U << 14) extern HASHTABLE_DECLARE(sym_hashtable, SYMBOL_HASHSIZE); #define for_all_symbols(sym) \ hash_for_each(sym_hashtable, sym, node) struct menu; extern struct menu *current_menu, *current_entry; Loading scripts/kconfig/lkc_proto.h +0 −2 Original line number Diff line number Diff line Loading @@ -18,8 +18,6 @@ void conf_set_message_callback(void (*fn)(const char *s)); bool conf_errors(void); /* symbol.c */ extern struct symbol * symbol_hash[SYMBOL_HASHSIZE]; struct symbol * sym_lookup(const char *name, int flags); struct symbol * sym_find(const char *name); void print_symbol_for_listconfig(struct symbol *sym); Loading Loading
scripts/kconfig/conf.c +6 −6 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <sys/time.h> #include <errno.h> #include "internal.h" #include "lkc.h" static void conf(struct menu *menu); Loading Loading @@ -171,7 +172,7 @@ enum conf_def_mode { static bool conf_set_all_new_symbols(enum conf_def_mode mode) { struct symbol *sym, *csym; int i, cnt; int cnt; /* * can't go as the default in switch-case below, otherwise gcc whines * about -Wmaybe-uninitialized Loading Loading @@ -226,7 +227,7 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode) } } for_all_symbols(i, sym) { for_all_symbols(sym) { if (sym_has_value(sym) || sym->flags & SYMBOL_VALID) continue; switch (sym_get_type(sym)) { Loading Loading @@ -278,14 +279,14 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode) * and the rest to no. */ if (mode != def_random) { for_all_symbols(i, csym) { for_all_symbols(csym) { if ((sym_is_choice(csym) && !sym_has_value(csym)) || sym_is_choice_value(csym)) csym->flags |= SYMBOL_NEED_SET_CHOICE_VALUES; } } for_all_symbols(i, csym) { for_all_symbols(csym) { if (sym_has_value(csym) || !sym_is_choice(csym)) continue; Loading @@ -304,9 +305,8 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode) static void conf_rewrite_tristates(tristate old_val, tristate new_val) { struct symbol *sym; int i; for_all_symbols(i, sym) { for_all_symbols(sym) { if (sym_get_type(sym) == S_TRISTATE && sym->def[S_DEF_USER].tri == old_val) sym->def[S_DEF_USER].tri = new_val; Loading
scripts/kconfig/confdata.c +12 −13 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #include <time.h> #include <unistd.h> #include "internal.h" #include "lkc.h" struct gstr autoconf_cmd; Loading Loading @@ -322,7 +323,7 @@ int conf_read_simple(const char *name, int def) size_t line_asize = 0; char *p, *val; struct symbol *sym; int i, def_flags; int def_flags; const char *warn_unknown, *sym_name; warn_unknown = getenv("KCONFIG_WARN_UNKNOWN_SYMBOLS"); Loading Loading @@ -380,7 +381,7 @@ int conf_read_simple(const char *name, int def) conf_warnings = 0; def_flags = SYMBOL_DEF << def; for_all_symbols(i, sym) { for_all_symbols(sym) { sym->flags |= SYMBOL_CHANGED; sym->flags &= ~(def_flags|SYMBOL_VALID); if (sym_is_choice(sym)) Loading Loading @@ -489,7 +490,6 @@ int conf_read(const char *name) { struct symbol *sym; int conf_unsaved = 0; int i; conf_set_changed(false); Loading @@ -500,7 +500,7 @@ int conf_read(const char *name) sym_calc_value(modules_sym); for_all_symbols(i, sym) { for_all_symbols(sym) { sym_calc_value(sym); if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) continue; Loading @@ -524,7 +524,7 @@ int conf_read(const char *name) /* maybe print value in verbose mode... */ } for_all_symbols(i, sym) { for_all_symbols(sym) { if (sym_has_value(sym) && !sym_is_choice_value(sym)) { /* Reset values of generates values, so they'll appear * as new, if they should become visible, but that Loading Loading @@ -862,7 +862,6 @@ int conf_write(const char *name) const char *str; char tmpname[PATH_MAX + 1], oldname[PATH_MAX + 1]; char *env; int i; bool need_newline = false; if (!name) Loading Loading @@ -946,7 +945,7 @@ int conf_write(const char *name) } fclose(out); for_all_symbols(i, sym) for_all_symbols(sym) sym->flags &= ~SYMBOL_WRITTEN; if (*tmpname) { Loading Loading @@ -1016,7 +1015,7 @@ static int conf_touch_deps(void) { const char *name, *tmp; struct symbol *sym; int res, i; int res; name = conf_get_autoconfig_name(); tmp = strrchr(name, '/'); Loading @@ -1030,7 +1029,7 @@ static int conf_touch_deps(void) conf_read_simple(name, S_DEF_AUTO); sym_calc_value(modules_sym); for_all_symbols(i, sym) { for_all_symbols(sym) { sym_calc_value(sym); if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) continue; Loading Loading @@ -1096,7 +1095,7 @@ static int __conf_write_autoconf(const char *filename, char tmp[PATH_MAX]; FILE *file; struct symbol *sym; int ret, i; int ret; if (make_parent_dir(filename)) return -1; Loading @@ -1113,7 +1112,7 @@ static int __conf_write_autoconf(const char *filename, conf_write_heading(file, comment_style); for_all_symbols(i, sym) for_all_symbols(sym) if ((sym->flags & SYMBOL_WRITE) && sym->name) print_symbol(file, sym); Loading @@ -1136,7 +1135,7 @@ int conf_write_autoconf(int overwrite) { struct symbol *sym; const char *autoconf_name = conf_get_autoconfig_name(); int ret, i; int ret; if (!overwrite && is_present(autoconf_name)) return 0; Loading @@ -1148,7 +1147,7 @@ int conf_write_autoconf(int overwrite) if (conf_touch_deps()) return 1; for_all_symbols(i, sym) for_all_symbols(sym) sym_calc_value(sym); ret = __conf_write_autoconf(conf_get_autoheader_name(), Loading
scripts/kconfig/expr.h +4 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ extern "C" { #include <stdbool.h> #endif #include "list_types.h" typedef enum tristate { no, mod, yes } tristate; Loading Loading @@ -74,8 +76,8 @@ enum { * SYMBOL_CHOICE bit set in 'flags'. */ struct symbol { /* The next symbol in the same bucket in the symbol hash table */ struct symbol *next; /* link node for the hash table */ struct hlist_node node; /* The name of the symbol, e.g. "FOO" for 'config FOO' */ char *name; Loading Loading @@ -124,8 +126,6 @@ struct symbol { struct expr_value implied; }; #define for_all_symbols(i, sym) for (i = 0; i < SYMBOL_HASHSIZE; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) #define SYMBOL_CONST 0x0001 /* symbol is const */ #define SYMBOL_CHECK 0x0008 /* used during dependency checking */ #define SYMBOL_CHOICE 0x0010 /* start of a choice block (null name) */ Loading @@ -150,7 +150,6 @@ struct symbol { #define SYMBOL_NEED_SET_CHOICE_VALUES 0x100000 #define SYMBOL_MAXLENGTH 256 #define SYMBOL_HASHSIZE 9973 /* A property represent the config options that can be associated * with a config "symbol". Loading
scripts/kconfig/internal.h +9 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,15 @@ #ifndef INTERNAL_H #define INTERNAL_H #include "hashtable.h" #define SYMBOL_HASHSIZE (1U << 14) extern HASHTABLE_DECLARE(sym_hashtable, SYMBOL_HASHSIZE); #define for_all_symbols(sym) \ hash_for_each(sym_hashtable, sym, node) struct menu; extern struct menu *current_menu, *current_entry; Loading
scripts/kconfig/lkc_proto.h +0 −2 Original line number Diff line number Diff line Loading @@ -18,8 +18,6 @@ void conf_set_message_callback(void (*fn)(const char *s)); bool conf_errors(void); /* symbol.c */ extern struct symbol * symbol_hash[SYMBOL_HASHSIZE]; struct symbol * sym_lookup(const char *name, int flags); struct symbol * sym_find(const char *name); void print_symbol_for_listconfig(struct symbol *sym); Loading