Lines Matching refs:sym

162 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)  in conf_set_sym_val()  argument
166 switch (sym->type) { in conf_set_sym_val()
169 sym->def[def].tri = mod; in conf_set_sym_val()
170 sym->flags |= def_flags; in conf_set_sym_val()
176 sym->def[def].tri = yes; in conf_set_sym_val()
177 sym->flags |= def_flags; in conf_set_sym_val()
181 sym->def[def].tri = no; in conf_set_sym_val()
182 sym->flags |= def_flags; in conf_set_sym_val()
187 p, sym->name); in conf_set_sym_val()
193 sym->type = S_STRING; in conf_set_sym_val()
216 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
217 sym->def[def].val = xstrdup(p); in conf_set_sym_val()
218 sym->flags |= def_flags; in conf_set_sym_val()
222 p, sym->name); in conf_set_sym_val()
293 struct symbol *sym; in conf_read_simple() local
313 sym_calc_value(prop->expr->left.sym); in conf_read_simple()
314 name = sym_get_string_value(prop->expr->left.sym); in conf_read_simple()
332 for_all_symbols(i, sym) { in conf_read_simple()
333 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
334 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
335 if (sym_is_choice(sym)) in conf_read_simple()
336 sym->flags |= def_flags; in conf_read_simple()
337 switch (sym->type) { in conf_read_simple()
341 if (sym->def[def].val) in conf_read_simple()
342 free(sym->def[def].val); in conf_read_simple()
345 sym->def[def].val = NULL; in conf_read_simple()
346 sym->def[def].tri = no; in conf_read_simple()
352 sym = NULL; in conf_read_simple()
363 sym = sym_find(line + 2 + strlen(CONFIG_)); in conf_read_simple()
364 if (!sym) { in conf_read_simple()
369 sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); in conf_read_simple()
370 if (sym->type == S_UNKNOWN) in conf_read_simple()
371 sym->type = S_BOOLEAN; in conf_read_simple()
373 if (sym->flags & def_flags) { in conf_read_simple()
374 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
376 switch (sym->type) { in conf_read_simple()
379 sym->def[def].tri = no; in conf_read_simple()
380 sym->flags |= def_flags; in conf_read_simple()
397 sym = sym_find(line + strlen(CONFIG_)); in conf_read_simple()
398 if (!sym) { in conf_read_simple()
403 sym = sym_lookup(line + strlen(CONFIG_), 0); in conf_read_simple()
404 if (sym->type == S_UNKNOWN) in conf_read_simple()
405 sym->type = S_OTHER; in conf_read_simple()
407 if (sym->flags & def_flags) { in conf_read_simple()
408 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
410 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
420 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
421 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
422 switch (sym->def[def].tri) { in conf_read_simple()
427 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
433 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
434 cs->def[def].val = sym; in conf_read_simple()
437 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
447 struct symbol *sym; in conf_read() local
460 for_all_symbols(i, sym) { in conf_read()
461 sym_calc_value(sym); in conf_read()
462 if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) in conf_read()
464 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
466 switch (sym->type) { in conf_read()
469 if (sym->def[S_DEF_USER].tri != sym_get_tristate_value(sym)) in conf_read()
471 if (!sym_is_choice(sym)) in conf_read()
475 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
479 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
486 for_all_symbols(i, sym) { in conf_read()
487 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
493 if (sym->visible == no && !conf_unsaved) in conf_read()
494 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
495 switch (sym->type) { in conf_read()
500 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
502 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
525 kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in kconfig_print_symbol() argument
528 switch (sym->type) { in kconfig_print_symbol()
536 CONFIG_, sym->name); in kconfig_print_symbol()
544 fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value); in kconfig_print_symbol()
579 header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in header_print_symbol() argument
582 switch (sym->type) { in header_print_symbol()
595 CONFIG_, sym->name, suffix); in header_print_symbol()
605 CONFIG_, sym->name, prefix, value); in header_print_symbol()
611 CONFIG_, sym->name, value); in header_print_symbol()
653 tristate_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in tristate_print_symbol() argument
656 if (sym->type == S_TRISTATE && *value != 'n') in tristate_print_symbol()
657 fprintf(fp, "%s%s=%c\n", CONFIG_, sym->name, (char)toupper(*value)); in tristate_print_symbol()
666 static void conf_write_symbol(FILE *fp, struct symbol *sym, in conf_write_symbol() argument
671 switch (sym->type) { in conf_write_symbol()
676 str = sym_get_string_value(sym); in conf_write_symbol()
678 printer->print_symbol(fp, sym, str, printer_arg); in conf_write_symbol()
682 str = sym_get_string_value(sym); in conf_write_symbol()
683 printer->print_symbol(fp, sym, str, printer_arg); in conf_write_symbol()
707 struct symbol *sym; in conf_write_defconfig() local
722 sym = menu->sym; in conf_write_defconfig()
723 if (sym == NULL) { in conf_write_defconfig()
726 } else if (!sym_is_choice(sym)) { in conf_write_defconfig()
727 sym_calc_value(sym); in conf_write_defconfig()
728 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
730 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
732 if (!sym_is_changable(sym)) in conf_write_defconfig()
735 if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) in conf_write_defconfig()
745 if (sym_is_choice_value(sym)) { in conf_write_defconfig()
749 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
751 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
752 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
753 sym_get_tristate_value(sym) == yes) in conf_write_defconfig()
757 conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); in conf_write_defconfig()
781 struct symbol *sym; in conf_write() local
828 sym = menu->sym; in conf_write()
829 if (!sym) { in conf_write()
837 } else if (!(sym->flags & SYMBOL_CHOICE)) { in conf_write()
838 sym_calc_value(sym); in conf_write()
839 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
841 sym->flags &= ~SYMBOL_WRITE; in conf_write()
843 conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); in conf_write()
914 struct symbol *sym; in conf_split_config() local
927 for_all_symbols(i, sym) { in conf_split_config()
928 sym_calc_value(sym); in conf_split_config()
929 if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) in conf_split_config()
931 if (sym->flags & SYMBOL_WRITE) { in conf_split_config()
932 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_split_config()
937 switch (sym->type) { in conf_split_config()
940 if (sym_get_tristate_value(sym) == in conf_split_config()
941 sym->def[S_DEF_AUTO].tri) in conf_split_config()
947 if (!strcmp(sym_get_string_value(sym), in conf_split_config()
948 sym->def[S_DEF_AUTO].val)) in conf_split_config()
959 switch (sym->type) { in conf_split_config()
962 if (sym_get_tristate_value(sym) == no) in conf_split_config()
969 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_split_config()
979 s = sym->name; in conf_split_config()
1018 struct symbol *sym; in conf_write_autoconf() local
1057 for_all_symbols(i, sym) { in conf_write_autoconf()
1058 sym_calc_value(sym); in conf_write_autoconf()
1059 if (!(sym->flags & SYMBOL_WRITE) || !sym->name) in conf_write_autoconf()
1063 conf_write_symbol(out, sym, &kconfig_printer_cb, (void *)1); in conf_write_autoconf()
1065 conf_write_symbol(tristate, sym, &tristate_printer_cb, (void *)1); in conf_write_autoconf()
1067 conf_write_symbol(out_h, sym, &header_printer_cb, NULL); in conf_write_autoconf()
1131 struct symbol *sym; in randomize_choice_values() local
1147 expr_list_for_each_sym(prop->expr, e, sym) in randomize_choice_values()
1157 expr_list_for_each_sym(prop->expr, e, sym) { in randomize_choice_values()
1159 sym->def[S_DEF_USER].tri = yes; in randomize_choice_values()
1160 csym->def[S_DEF_USER].val = sym; in randomize_choice_values()
1163 sym->def[S_DEF_USER].tri = no; in randomize_choice_values()
1165 sym->flags |= SYMBOL_DEF_USER; in randomize_choice_values()
1167 sym->flags &= ~SYMBOL_VALID; in randomize_choice_values()
1179 struct symbol *sym; in set_all_choice_values() local
1187 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
1188 if (!sym_has_value(sym)) in set_all_choice_values()
1189 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()
1198 struct symbol *sym, *csym; in conf_set_all_new_symbols() local
1246 for_all_symbols(i, sym) { in conf_set_all_new_symbols()
1247 if (sym_has_value(sym) || (sym->flags & SYMBOL_VALID)) in conf_set_all_new_symbols()
1249 switch (sym_get_type(sym)) { in conf_set_all_new_symbols()
1255 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1258 sym->def[S_DEF_USER].tri = mod; in conf_set_all_new_symbols()
1261 if (sym->flags & SYMBOL_ALLNOCONFIG_Y) in conf_set_all_new_symbols()
1262 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1264 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()
1267 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()
1269 if (sym->type == S_TRISTATE) { in conf_set_all_new_symbols()
1271 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1273 sym->def[S_DEF_USER].tri = mod; in conf_set_all_new_symbols()
1275 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1280 if (!(sym_is_choice(sym) && mode == def_random)) in conf_set_all_new_symbols()
1281 sym->flags |= SYMBOL_DEF_USER; in conf_set_all_new_symbols()