Lines Matching refs:sym
230 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) in conf_set_sym_val() argument
234 switch (sym->type) { in conf_set_sym_val()
237 sym->def[def].tri = mod; in conf_set_sym_val()
238 sym->flags |= def_flags; in conf_set_sym_val()
244 sym->def[def].tri = yes; in conf_set_sym_val()
245 sym->flags |= def_flags; in conf_set_sym_val()
249 sym->def[def].tri = no; in conf_set_sym_val()
250 sym->flags |= def_flags; in conf_set_sym_val()
255 p, sym->name); in conf_set_sym_val()
275 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
276 sym->def[def].val = xstrdup(p); in conf_set_sym_val()
277 sym->flags |= def_flags; in conf_set_sym_val()
281 p, sym->name); in conf_set_sym_val()
352 struct symbol *sym; in conf_read_simple() local
409 for_all_symbols(i, sym) { in conf_read_simple()
410 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
411 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
412 if (sym_is_choice(sym)) in conf_read_simple()
413 sym->flags |= def_flags; in conf_read_simple()
414 switch (sym->type) { in conf_read_simple()
418 if (sym->def[def].val) in conf_read_simple()
419 free(sym->def[def].val); in conf_read_simple()
422 sym->def[def].val = NULL; in conf_read_simple()
423 sym->def[def].tri = no; in conf_read_simple()
429 sym = NULL; in conf_read_simple()
440 sym = sym_find(line + 2 + strlen(CONFIG_)); in conf_read_simple()
441 if (!sym) { in conf_read_simple()
446 sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); in conf_read_simple()
447 if (sym->type == S_UNKNOWN) in conf_read_simple()
448 sym->type = S_BOOLEAN; in conf_read_simple()
450 if (sym->flags & def_flags) { in conf_read_simple()
451 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
453 switch (sym->type) { in conf_read_simple()
456 sym->def[def].tri = no; in conf_read_simple()
457 sym->flags |= def_flags; in conf_read_simple()
474 sym = sym_find(line + strlen(CONFIG_)); in conf_read_simple()
475 if (!sym) { in conf_read_simple()
489 if (sym->flags & def_flags) { in conf_read_simple()
490 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
492 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
502 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
503 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
504 switch (sym->def[def].tri) { in conf_read_simple()
509 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
515 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
516 cs->def[def].val = sym; in conf_read_simple()
519 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
529 struct symbol *sym; in conf_read() local
542 for_all_symbols(i, sym) { in conf_read()
543 sym_calc_value(sym); in conf_read()
544 if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) in conf_read()
546 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
548 switch (sym->type) { in conf_read()
551 if (sym->def[S_DEF_USER].tri == sym_get_tristate_value(sym)) in conf_read()
555 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
559 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
566 for_all_symbols(i, sym) { in conf_read()
567 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
573 if (sym->visible == no && !conf_unsaved) in conf_read()
574 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
575 switch (sym->type) { in conf_read()
580 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
582 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
606 kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in kconfig_print_symbol() argument
609 switch (sym->type) { in kconfig_print_symbol()
617 CONFIG_, sym->name); in kconfig_print_symbol()
625 fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value); in kconfig_print_symbol()
660 header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg) in header_print_symbol() argument
663 switch (sym->type) { in header_print_symbol()
676 CONFIG_, sym->name, suffix); in header_print_symbol()
686 CONFIG_, sym->name, prefix, value); in header_print_symbol()
692 CONFIG_, sym->name, value); in header_print_symbol()
728 static void conf_write_symbol(FILE *fp, struct symbol *sym, in conf_write_symbol() argument
733 switch (sym->type) { in conf_write_symbol()
737 str = sym_get_string_value(sym); in conf_write_symbol()
739 printer->print_symbol(fp, sym, str, printer_arg); in conf_write_symbol()
743 str = sym_get_string_value(sym); in conf_write_symbol()
744 printer->print_symbol(fp, sym, str, printer_arg); in conf_write_symbol()
768 struct symbol *sym; in conf_write_defconfig() local
783 sym = menu->sym; in conf_write_defconfig()
784 if (sym == NULL) { in conf_write_defconfig()
787 } else if (!sym_is_choice(sym)) { in conf_write_defconfig()
788 sym_calc_value(sym); in conf_write_defconfig()
789 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
791 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
793 if (!sym_is_changeable(sym)) in conf_write_defconfig()
796 if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) in conf_write_defconfig()
806 if (sym_is_choice_value(sym)) { in conf_write_defconfig()
810 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
812 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
813 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
814 sym_get_tristate_value(sym) == yes) in conf_write_defconfig()
818 conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); in conf_write_defconfig()
842 struct symbol *sym; in conf_write() local
885 sym = menu->sym; in conf_write()
886 if (!sym) { in conf_write()
895 } else if (!(sym->flags & SYMBOL_CHOICE) && in conf_write()
896 !(sym->flags & SYMBOL_WRITTEN)) { in conf_write()
897 sym_calc_value(sym); in conf_write()
898 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
904 sym->flags |= SYMBOL_WRITTEN; in conf_write()
905 conf_write_symbol(out, sym, &kconfig_printer_cb, NULL); in conf_write()
916 if (!menu->sym && menu_is_visible(menu) && in conf_write()
930 for_all_symbols(i, sym) in conf_write()
931 sym->flags &= ~SYMBOL_WRITTEN; in conf_write()
987 struct symbol *sym; in conf_touch_deps() local
1002 for_all_symbols(i, sym) { in conf_touch_deps()
1003 sym_calc_value(sym); in conf_touch_deps()
1004 if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) in conf_touch_deps()
1006 if (sym->flags & SYMBOL_WRITE) { in conf_touch_deps()
1007 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_touch_deps()
1012 switch (sym->type) { in conf_touch_deps()
1015 if (sym_get_tristate_value(sym) == in conf_touch_deps()
1016 sym->def[S_DEF_AUTO].tri) in conf_touch_deps()
1022 if (!strcmp(sym_get_string_value(sym), in conf_touch_deps()
1023 sym->def[S_DEF_AUTO].val)) in conf_touch_deps()
1034 switch (sym->type) { in conf_touch_deps()
1037 if (sym_get_tristate_value(sym) == no) in conf_touch_deps()
1044 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_touch_deps()
1053 res = conf_touch_dep(sym->name); in conf_touch_deps()
1063 struct symbol *sym; in conf_write_autoconf() local
1090 for_all_symbols(i, sym) { in conf_write_autoconf()
1091 sym_calc_value(sym); in conf_write_autoconf()
1092 if (!(sym->flags & SYMBOL_WRITE) || !sym->name) in conf_write_autoconf()
1096 conf_write_symbol(out, sym, &kconfig_printer_cb, (void *)1); in conf_write_autoconf()
1097 conf_write_symbol(out_h, sym, &header_printer_cb, NULL); in conf_write_autoconf()
1148 struct symbol *sym; in set_all_choice_values() local
1156 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
1157 if (!sym_has_value(sym)) in set_all_choice_values()
1158 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()