• Home
  • Raw
  • Download

Lines Matching refs:sym

47 void menu_add_entry(struct symbol *sym)  in menu_add_entry()  argument
53 menu->sym = sym; in menu_add_entry()
61 if (sym) in menu_add_entry()
62 menu_add_symbol(P_SYMBOL, sym, NULL); in menu_add_entry()
97 if (e->left.sym == &symbol_mod) in rewrite_m()
113 struct symbol *sym = current_entry->sym; in menu_set_type() local
115 if (sym->type == type) in menu_set_type()
117 if (sym->type == S_UNKNOWN) { in menu_set_type()
118 sym->type = type; in menu_set_type()
123 sym->name ? sym->name : "<choice>", in menu_set_type()
124 sym_type_name(sym->type), sym_type_name(type)); in menu_set_type()
129 struct property *prop = prop_alloc(type, current_entry->sym); in menu_add_prop()
193 void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep) in menu_add_symbol() argument
195 menu_add_prop(type, NULL, expr_alloc_symbol(sym), dep); in menu_add_symbol()
202 current_entry->sym->name, modules_sym->name); in menu_add_option_modules()
203 modules_sym = current_entry->sym; in menu_add_option_modules()
209 sym_defconfig_list = current_entry->sym; in menu_add_option_defconfig_list()
210 else if (sym_defconfig_list != current_entry->sym) in menu_add_option_defconfig_list()
217 current_entry->sym->flags |= SYMBOL_ALLNOCONFIG_Y; in menu_add_option_allnoconfig_y()
220 static int menu_validate_number(struct symbol *sym, struct symbol *sym2) in menu_validate_number() argument
223 (sym2->type == S_UNKNOWN && sym_string_valid(sym, sym2->name)); in menu_validate_number()
226 static void sym_check_prop(struct symbol *sym) in sym_check_prop() argument
232 for (prop = sym->prop; prop; prop = prop->next) { in sym_check_prop()
235 if ((sym->type == S_STRING || sym->type == S_INT || sym->type == S_HEX) && in sym_check_prop()
239 " must be a single symbol", sym->name); in sym_check_prop()
243 if (sym->type == S_HEX || sym->type == S_INT) { in sym_check_prop()
244 if (!menu_validate_number(sym, sym2)) in sym_check_prop()
247 sym->name); in sym_check_prop()
249 if (sym_is_choice(sym)) { in sym_check_prop()
254 prop_get_symbol(choice_prop) != sym) in sym_check_prop()
264 if (sym->type != S_BOOLEAN && sym->type != S_TRISTATE) in sym_check_prop()
267 "not bool or tristate", sym->name, use); in sym_check_prop()
277 if (sym->type != S_INT && sym->type != S_HEX) in sym_check_prop()
280 if (!menu_validate_number(sym, prop->expr->left.sym) || in sym_check_prop()
281 !menu_validate_number(sym, prop->expr->right.sym)) in sym_check_prop()
293 struct symbol *sym; in menu_finalize() local
297 sym = parent->sym; in menu_finalize()
304 if (sym && sym_is_choice(sym)) { in menu_finalize()
305 if (sym->type == S_UNKNOWN) { in menu_finalize()
309 if (menu->sym && menu->sym->type != S_UNKNOWN) { in menu_finalize()
310 menu_set_type(menu->sym->type); in menu_finalize()
318 if (menu->sym && menu->sym->type == S_UNKNOWN) in menu_finalize()
319 menu_set_type(sym->type); in menu_finalize()
328 parentdep = expr_alloc_symbol(sym); in menu_finalize()
348 if (menu->sym) in menu_finalize()
353 prop = menu->sym->prop; in menu_finalize()
390 if (menu->sym && menu->sym->type != S_TRISTATE) in menu_finalize()
401 expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep))); in menu_finalize()
405 expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep))); in menu_finalize()
410 if (sym && sym_is_choice(sym)) in menu_finalize()
419 } else if (sym) { in menu_finalize()
450 if (!expr_contains_symbol(dep, sym)) in menu_finalize()
453 if (expr_depends_symbol(dep, sym)) in menu_finalize()
490 sym->dir_dep.expr = expr_alloc_or(sym->dir_dep.expr, parent->dep); in menu_finalize()
493 if (sym && sym_is_choice(sym) && in menu_finalize()
494 menu->sym && !sym_is_choice_value(menu->sym)) { in menu_finalize()
496 menu->sym->flags |= SYMBOL_CHOICEVAL; in menu_finalize()
499 for (prop = menu->sym->prop; prop; prop = prop->next) { in menu_finalize()
506 prop->menu->parent->sym != sym) in menu_finalize()
515 if (sym->type == S_TRISTATE && menu->sym->type != S_TRISTATE) { in menu_finalize()
516 basedep = expr_alloc_comp(E_EQUAL, sym, &symbol_yes); in menu_finalize()
518 for (prop = menu->sym->prop; prop; prop = prop->next) { in menu_finalize()
525 menu_add_symbol(P_CHOICE, sym, NULL); in menu_finalize()
526 prop = sym_get_choice_prop(sym); in menu_finalize()
530 (*ep)->right.sym = menu->sym; in menu_finalize()
573 if (sym && !(sym->flags & SYMBOL_WARNED)) { in menu_finalize()
574 if (sym->type == S_UNKNOWN) in menu_finalize()
577 if (sym_is_choice(sym) && !parent->prompt) in menu_finalize()
581 sym_check_prop(sym); in menu_finalize()
582 sym->flags |= SYMBOL_WARNED; in menu_finalize()
594 if (sym && !sym_is_optional(sym) && parent->prompt) { in menu_finalize()
595 sym->rev_dep.expr = expr_alloc_or(sym->rev_dep.expr, in menu_finalize()
627 struct symbol *sym; in menu_is_visible() local
638 sym = menu->sym; in menu_is_visible()
639 if (sym) { in menu_is_visible()
640 sym_calc_value(sym); in menu_is_visible()
648 if (!sym || sym_get_tristate_value(menu->sym) == no) in menu_is_visible()
653 if (sym) in menu_is_visible()
654 sym->flags |= SYMBOL_DEF_USER; in menu_is_visible()
666 else if (menu->sym) in menu_get_prompt()
667 return menu->sym->name; in menu_get_prompt()
748 if (menu->sym) { in get_prompt_str()
749 str_printf(r, " (%s [=%s])", menu->sym->name ? in get_prompt_str()
750 menu->sym->name : "<choice>", in get_prompt_str()
751 sym_get_string_value(menu->sym)); in get_prompt_str()
761 static struct property *get_symbol_prop(struct symbol *sym) in get_symbol_prop() argument
765 for_all_properties(sym, prop, P_SYMBOL) in get_symbol_prop()
770 static void get_symbol_props_str(struct gstr *r, struct symbol *sym, in get_symbol_props_str() argument
776 for_all_properties(sym, prop, tok) { in get_symbol_props_str()
791 static void get_symbol_str(struct gstr *r, struct symbol *sym, in get_symbol_str() argument
796 if (sym && sym->name) { in get_symbol_str()
797 str_printf(r, "Symbol: %s [=%s]\n", sym->name, in get_symbol_str()
798 sym_get_string_value(sym)); in get_symbol_str()
799 str_printf(r, "Type : %s\n", sym_type_name(sym->type)); in get_symbol_str()
800 if (sym->type == S_INT || sym->type == S_HEX) { in get_symbol_str()
801 prop = sym_get_range_prop(sym); in get_symbol_str()
809 for_all_prompts(sym, prop) in get_symbol_str()
812 prop = get_symbol_prop(sym); in get_symbol_str()
823 get_symbol_props_str(r, sym, P_SELECT, " Selects: "); in get_symbol_str()
824 if (sym->rev_dep.expr) { in get_symbol_str()
825 expr_gstr_print_revdep(sym->rev_dep.expr, r, yes, " Selected by [y]:\n"); in get_symbol_str()
826 expr_gstr_print_revdep(sym->rev_dep.expr, r, mod, " Selected by [m]:\n"); in get_symbol_str()
827 expr_gstr_print_revdep(sym->rev_dep.expr, r, no, " Selected by [n]:\n"); in get_symbol_str()
830 get_symbol_props_str(r, sym, P_IMPLY, " Implies: "); in get_symbol_str()
831 if (sym->implied.expr) { in get_symbol_str()
832 expr_gstr_print_revdep(sym->implied.expr, r, yes, " Implied by [y]:\n"); in get_symbol_str()
833 expr_gstr_print_revdep(sym->implied.expr, r, mod, " Implied by [m]:\n"); in get_symbol_str()
834 expr_gstr_print_revdep(sym->implied.expr, r, no, " Implied by [n]:\n"); in get_symbol_str()
842 struct symbol *sym; in get_relations_str() local
846 for (i = 0; sym_arr && (sym = sym_arr[i]); i++) in get_relations_str()
847 get_symbol_str(&res, sym, head); in get_relations_str()
856 struct symbol *sym = menu->sym; in menu_get_ext_help() local
860 if (sym->name) in menu_get_ext_help()
861 str_printf(help, "%s%s:\n\n", CONFIG_, sym->name); in menu_get_ext_help()
865 if (sym) in menu_get_ext_help()
866 get_symbol_str(help, sym, NULL); in menu_get_ext_help()