Lines Matching refs:sym
46 struct symbol *sym; in conf_expand_value() local
60 sym = sym_lookup(name, 0); in conf_expand_value()
61 sym_calc_value(sym); in conf_expand_value()
62 strcat(res_value, sym_get_string_value(sym)); in conf_expand_value()
86 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) in conf_set_sym_val() argument
90 switch (sym->type) { in conf_set_sym_val()
93 sym->def[def].tri = mod; in conf_set_sym_val()
94 sym->flags |= def_flags; in conf_set_sym_val()
99 sym->def[def].tri = yes; in conf_set_sym_val()
100 sym->flags |= def_flags; in conf_set_sym_val()
104 sym->def[def].tri = no; in conf_set_sym_val()
105 sym->flags |= def_flags; in conf_set_sym_val()
108 conf_warning("symbol value '%s' invalid for %s", p, sym->name); in conf_set_sym_val()
114 sym->type = S_STRING; in conf_set_sym_val()
134 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
135 sym->def[def].val = strdup(p); in conf_set_sym_val()
136 sym->flags |= def_flags; in conf_set_sym_val()
138 conf_warning("symbol value '%s' invalid for %s", p, sym->name); in conf_set_sym_val()
153 struct symbol *sym; in conf_read_simple() local
173 name = conf_expand_value(prop->expr->left.sym->name); in conf_read_simple()
193 for_all_symbols(i, sym) { in conf_read_simple()
194 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
195 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
196 if (sym_is_choice(sym)) in conf_read_simple()
197 sym->flags |= def_flags; in conf_read_simple()
198 switch (sym->type) { in conf_read_simple()
202 if (sym->def[def].val) in conf_read_simple()
203 free(sym->def[def].val); in conf_read_simple()
205 sym->def[def].val = NULL; in conf_read_simple()
206 sym->def[def].tri = no; in conf_read_simple()
212 sym = NULL; in conf_read_simple()
224 sym = sym_find(line + 9); in conf_read_simple()
225 if (!sym) { in conf_read_simple()
230 sym = sym_lookup(line + 9, 0); in conf_read_simple()
231 if (sym->type == S_UNKNOWN) in conf_read_simple()
232 sym->type = S_BOOLEAN; in conf_read_simple()
234 if (sym->flags & def_flags) { in conf_read_simple()
235 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
237 switch (sym->type) { in conf_read_simple()
240 sym->def[def].tri = no; in conf_read_simple()
241 sym->flags |= def_flags; in conf_read_simple()
263 sym = sym_find(line + 7); in conf_read_simple()
264 if (!sym) { in conf_read_simple()
269 sym = sym_lookup(line + 7, 0); in conf_read_simple()
270 if (sym->type == S_UNKNOWN) in conf_read_simple()
271 sym->type = S_OTHER; in conf_read_simple()
273 if (sym->flags & def_flags) { in conf_read_simple()
274 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
276 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
286 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
287 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
288 switch (sym->def[def].tri) { in conf_read_simple()
293 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
299 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
300 cs->def[def].val = sym; in conf_read_simple()
303 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
315 struct symbol *sym, *choice_sym; in conf_read() local
325 for_all_symbols(i, sym) { in conf_read()
326 sym_calc_value(sym); in conf_read()
327 if (sym_is_choice(sym) || (sym->flags & SYMBOL_AUTO)) in conf_read()
329 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
331 switch (sym->type) { in conf_read()
334 if (sym->def[S_DEF_USER].tri != sym_get_tristate_value(sym)) in conf_read()
336 if (!sym_is_choice(sym)) in conf_read()
339 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
343 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
349 if (!sym_is_choice(sym)) in conf_read()
354 prop = sym_get_choice_prop(sym); in conf_read()
355 flags = sym->flags; in conf_read()
359 sym->flags &= flags | ~SYMBOL_DEF_USER; in conf_read()
362 for_all_symbols(i, sym) { in conf_read()
363 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
369 if (sym->visible == no && !conf_unsaved) in conf_read()
370 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
371 switch (sym->type) { in conf_read()
376 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
378 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
395 struct symbol *sym; in conf_write() local
439 sym = sym_lookup("KERNELVERSION", 0); in conf_write()
440 sym_calc_value(sym); in conf_write()
451 sym_get_string_value(sym), in conf_write()
460 sym = menu->sym; in conf_write()
461 if (!sym) { in conf_write()
469 } else if (!(sym->flags & SYMBOL_CHOICE)) { in conf_write()
470 sym_calc_value(sym); in conf_write()
471 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
473 sym->flags &= ~SYMBOL_WRITE; in conf_write()
474 type = sym->type; in conf_write()
483 switch (sym_get_tristate_value(sym)) { in conf_write()
485 fprintf(out, "# CONFIG_%s is not set\n", sym->name); in conf_write()
488 fprintf(out, "CONFIG_%s=m\n", sym->name); in conf_write()
491 fprintf(out, "CONFIG_%s=y\n", sym->name); in conf_write()
496 str = sym_get_string_value(sym); in conf_write()
497 fprintf(out, "CONFIG_%s=\"", sym->name); in conf_write()
511 str = sym_get_string_value(sym); in conf_write()
513 fprintf(out, "CONFIG_%s=%s\n", sym->name, str); in conf_write()
517 str = sym_get_string_value(sym); in conf_write()
518 fprintf(out, "CONFIG_%s=%s\n", sym->name, str); in conf_write()
560 struct symbol *sym; in conf_split_config() local
573 for_all_symbols(i, sym) { in conf_split_config()
574 sym_calc_value(sym); in conf_split_config()
575 if ((sym->flags & SYMBOL_AUTO) || !sym->name) in conf_split_config()
577 if (sym->flags & SYMBOL_WRITE) { in conf_split_config()
578 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_split_config()
583 switch (sym->type) { in conf_split_config()
586 if (sym_get_tristate_value(sym) == in conf_split_config()
587 sym->def[S_DEF_AUTO].tri) in conf_split_config()
593 if (!strcmp(sym_get_string_value(sym), in conf_split_config()
594 sym->def[S_DEF_AUTO].val)) in conf_split_config()
605 switch (sym->type) { in conf_split_config()
608 if (sym_get_tristate_value(sym) == no) in conf_split_config()
615 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_split_config()
625 s = sym->name; in conf_split_config()
671 struct symbol *sym; in conf_write_autoconf() local
695 sym = sym_lookup("KERNELVERSION", 0); in conf_write_autoconf()
696 sym_calc_value(sym); in conf_write_autoconf()
703 sym_get_string_value(sym), ctime(&now)); in conf_write_autoconf()
710 sym_get_string_value(sym), ctime(&now)); in conf_write_autoconf()
712 for_all_symbols(i, sym) { in conf_write_autoconf()
713 sym_calc_value(sym); in conf_write_autoconf()
714 if (!(sym->flags & SYMBOL_WRITE) || !sym->name) in conf_write_autoconf()
716 switch (sym->type) { in conf_write_autoconf()
719 switch (sym_get_tristate_value(sym)) { in conf_write_autoconf()
723 fprintf(out, "CONFIG_%s=m\n", sym->name); in conf_write_autoconf()
724 fprintf(out_h, "#define CONFIG_%s_MODULE 1\n", sym->name); in conf_write_autoconf()
727 fprintf(out, "CONFIG_%s=y\n", sym->name); in conf_write_autoconf()
728 fprintf(out_h, "#define CONFIG_%s 1\n", sym->name); in conf_write_autoconf()
733 str = sym_get_string_value(sym); in conf_write_autoconf()
734 fprintf(out, "CONFIG_%s=\"", sym->name); in conf_write_autoconf()
735 fprintf(out_h, "#define CONFIG_%s \"", sym->name); in conf_write_autoconf()
753 str = sym_get_string_value(sym); in conf_write_autoconf()
755 fprintf(out, "CONFIG_%s=%s\n", sym->name, str); in conf_write_autoconf()
756 fprintf(out_h, "#define CONFIG_%s 0x%s\n", sym->name, str); in conf_write_autoconf()
760 str = sym_get_string_value(sym); in conf_write_autoconf()
761 fprintf(out, "CONFIG_%s=%s\n", sym->name, str); in conf_write_autoconf()
762 fprintf(out_h, "#define CONFIG_%s %s\n", sym->name, str); in conf_write_autoconf()
819 struct symbol *sym, *csym; in conf_set_all_new_symbols() local
824 for_all_symbols(i, sym) { in conf_set_all_new_symbols()
825 if (sym_has_value(sym)) in conf_set_all_new_symbols()
827 switch (sym_get_type(sym)) { in conf_set_all_new_symbols()
832 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
835 sym->def[S_DEF_USER].tri = mod; in conf_set_all_new_symbols()
838 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()
841 sym->def[S_DEF_USER].tri = (tristate)(rand() % 3); in conf_set_all_new_symbols()
846 if (!(sym_is_choice(sym) && mode == def_random)) in conf_set_all_new_symbols()
847 sym->flags |= SYMBOL_DEF_USER; in conf_set_all_new_symbols()
881 expr_list_for_each_sym(prop->expr, e, sym) in conf_set_all_new_symbols()
891 expr_list_for_each_sym(prop->expr, e, sym) { in conf_set_all_new_symbols()
893 sym->def[S_DEF_USER].tri = yes; in conf_set_all_new_symbols()
894 csym->def[S_DEF_USER].val = sym; in conf_set_all_new_symbols()
897 sym->def[S_DEF_USER].tri = no; in conf_set_all_new_symbols()