Lines Matching refs:sym

234 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)  in conf_set_sym_val()  argument
238 switch (sym->type) { in conf_set_sym_val()
241 sym->def[def].tri = mod; in conf_set_sym_val()
242 sym->flags |= def_flags; in conf_set_sym_val()
248 sym->def[def].tri = yes; in conf_set_sym_val()
249 sym->flags |= def_flags; in conf_set_sym_val()
253 sym->def[def].tri = no; in conf_set_sym_val()
254 sym->flags |= def_flags; in conf_set_sym_val()
259 p, sym->name); in conf_set_sym_val()
279 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
280 sym->def[def].val = xstrdup(p); in conf_set_sym_val()
281 sym->flags |= def_flags; in conf_set_sym_val()
285 p, sym->name); in conf_set_sym_val()
356 struct symbol *sym; in conf_read_simple() local
376 sym_calc_value(prop->expr->left.sym); in conf_read_simple()
377 name = sym_get_string_value(prop->expr->left.sym); in conf_read_simple()
395 for_all_symbols(i, sym) { in conf_read_simple()
396 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
397 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
398 if (sym_is_choice(sym)) in conf_read_simple()
399 sym->flags |= def_flags; in conf_read_simple()
400 switch (sym->type) { in conf_read_simple()
404 if (sym->def[def].val) in conf_read_simple()
405 free(sym->def[def].val); in conf_read_simple()
408 sym->def[def].val = NULL; in conf_read_simple()
409 sym->def[def].tri = no; in conf_read_simple()
415 sym = NULL; in conf_read_simple()
426 sym = sym_find(line + 2 + strlen(CONFIG_)); in conf_read_simple()
427 if (!sym) { in conf_read_simple()
432 sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); in conf_read_simple()
433 if (sym->type == S_UNKNOWN) in conf_read_simple()
434 sym->type = S_BOOLEAN; in conf_read_simple()
436 if (sym->flags & def_flags) { in conf_read_simple()
437 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
439 switch (sym->type) { in conf_read_simple()
442 sym->def[def].tri = no; in conf_read_simple()
443 sym->flags |= def_flags; in conf_read_simple()
460 sym = sym_find(line + strlen(CONFIG_)); in conf_read_simple()
461 if (!sym) { in conf_read_simple()
475 if (sym->flags & def_flags) { in conf_read_simple()
476 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
478 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
488 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
489 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
490 switch (sym->def[def].tri) { in conf_read_simple()
495 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
501 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
502 cs->def[def].val = sym; in conf_read_simple()
505 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
515 struct symbol *sym; in conf_read() local
528 for_all_symbols(i, sym) { in conf_read()
529 sym_calc_value(sym); in conf_read()
530 if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) in conf_read()
532 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
534 switch (sym->type) { in conf_read()
537 if (sym->def[S_DEF_USER].tri == sym_get_tristate_value(sym)) in conf_read()
541 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
545 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
552 for_all_symbols(i, sym) { in conf_read()
553 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
559 if (sym->visible == no && !conf_unsaved) in conf_read()
560 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
561 switch (sym->type) { in conf_read()
566 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
568 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
591 kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in kconfig_print_symbol() argument
594 switch (sym->type) { in kconfig_print_symbol()
602 CONFIG_, sym->name); in kconfig_print_symbol()
610 fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value); in kconfig_print_symbol()
645 header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in header_print_symbol() argument
648 switch (sym->type) { in header_print_symbol()
661 CONFIG_, sym->name, suffix); in header_print_symbol()
671 CONFIG_, sym->name, prefix, value); in header_print_symbol()
677 CONFIG_, sym->name, value); in header_print_symbol()
713 static void conf_write_symbol(FILE *fp, struct symbol *sym, in conf_write_symbol() argument
718 switch (sym->type) { in conf_write_symbol()
722 str = sym_get_string_value(sym); in conf_write_symbol()
724 printer->print_symbol(fp, sym, str, printer_arg); in conf_write_symbol()
728 str = sym_get_string_value(sym); in conf_write_symbol()
729 printer->print_symbol(fp, sym, str, printer_arg); in conf_write_symbol()
753 struct symbol *sym; in conf_write_defconfig() local
768 sym = menu->sym; in conf_write_defconfig()
769 if (sym == NULL) { in conf_write_defconfig()
772 } else if (!sym_is_choice(sym)) { in conf_write_defconfig()
773 sym_calc_value(sym); in conf_write_defconfig()
774 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
776 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
778 if (!sym_is_changeable(sym)) in conf_write_defconfig()
781 if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) in conf_write_defconfig()
791 if (sym_is_choice_value(sym)) { in conf_write_defconfig()
795 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
797 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
798 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
799 sym_get_tristate_value(sym) == yes) in conf_write_defconfig()
803 conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); in conf_write_defconfig()
827 struct symbol *sym; in conf_write() local
870 sym = menu->sym; in conf_write()
871 if (!sym) { in conf_write()
880 } else if (!(sym->flags & SYMBOL_CHOICE) && in conf_write()
881 !(sym->flags & SYMBOL_WRITTEN)) { in conf_write()
882 sym_calc_value(sym); in conf_write()
883 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
889 sym->flags |= SYMBOL_WRITTEN; in conf_write()
890 conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); in conf_write()
901 if (!menu->sym && menu_is_visible(menu) && in conf_write()
915 for_all_symbols(i, sym) in conf_write()
916 sym->flags &= ~SYMBOL_WRITTEN; in conf_write()
972 struct symbol *sym; in conf_touch_deps() local
987 for_all_symbols(i, sym) { in conf_touch_deps()
988 sym_calc_value(sym); in conf_touch_deps()
989 if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) in conf_touch_deps()
991 if (sym->flags & SYMBOL_WRITE) { in conf_touch_deps()
992 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_touch_deps()
997 switch (sym->type) { in conf_touch_deps()
1000 if (sym_get_tristate_value(sym) == in conf_touch_deps()
1001 sym->def[S_DEF_AUTO].tri) in conf_touch_deps()
1007 if (!strcmp(sym_get_string_value(sym), in conf_touch_deps()
1008 sym->def[S_DEF_AUTO].val)) in conf_touch_deps()
1019 switch (sym->type) { in conf_touch_deps()
1022 if (sym_get_tristate_value(sym) == no) in conf_touch_deps()
1029 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_touch_deps()
1038 res = conf_touch_dep(sym->name); in conf_touch_deps()
1048 struct symbol *sym; in conf_write_autoconf() local
1075 for_all_symbols(i, sym) { in conf_write_autoconf()
1076 sym_calc_value(sym); in conf_write_autoconf()
1077 if (!(sym->flags & SYMBOL_WRITE) || !sym->name) in conf_write_autoconf()
1081 conf_write_symbol(out, sym, &kconfig_printer_cb, (void *)1); in conf_write_autoconf()
1082 conf_write_symbol(out_h, sym, &header_printer_cb, NULL); in conf_write_autoconf()
1137 struct symbol *sym; in randomize_choice_values() local
1153 expr_list_for_each_sym(prop->expr, e, sym) in randomize_choice_values()
1163 expr_list_for_each_sym(prop->expr, e, sym) { in randomize_choice_values()
1165 sym->def[S_DEF_USER].tri = yes; in randomize_choice_values()
1166 csym->def[S_DEF_USER].val = sym; in randomize_choice_values()
1169 sym->def[S_DEF_USER].tri = no; in randomize_choice_values()
1171 sym->flags |= SYMBOL_DEF_USER; in randomize_choice_values()
1173 sym->flags &= ~SYMBOL_VALID; in randomize_choice_values()
1185 struct symbol *sym; in set_all_choice_values() local
1193 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
1194 if (!sym_has_value(sym)) in set_all_choice_values()
1195 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()
1204 struct symbol *sym, *csym; in conf_set_all_new_symbols() local
1252 for_all_symbols(i, sym) { in conf_set_all_new_symbols()
1253 if (sym_has_value(sym) || (sym->flags & SYMBOL_VALID)) in conf_set_all_new_symbols()
1255 switch (sym_get_type(sym)) { in conf_set_all_new_symbols()
1261 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1264 sym->def[S_DEF_USER].tri = mod; in conf_set_all_new_symbols()
1267 if (sym->flags & SYMBOL_ALLNOCONFIG_Y) in conf_set_all_new_symbols()
1268 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1270 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()
1273 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()
1275 if (sym->type == S_TRISTATE) { in conf_set_all_new_symbols()
1277 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1279 sym->def[S_DEF_USER].tri = mod; in conf_set_all_new_symbols()
1281 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
1286 if (!(sym_is_choice(sym) && mode == def_random)) in conf_set_all_new_symbols()
1287 sym->flags |= SYMBOL_DEF_USER; in conf_set_all_new_symbols()
1332 struct symbol *sym; in conf_rewrite_mod_or_yes() local
1337 for_all_symbols(i, sym) { in conf_rewrite_mod_or_yes()
1338 if (sym_get_type(sym) == S_TRISTATE && in conf_rewrite_mod_or_yes()
1339 sym->def[S_DEF_USER].tri == old_val) in conf_rewrite_mod_or_yes()
1340 sym->def[S_DEF_USER].tri = new_val; in conf_rewrite_mod_or_yes()