MCPcopy Create free account
hub / github.com/coreboot/coreboot / sym_calc_value

Function sym_calc_value

util/kconfig/symbol.c:325–473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

323}
324
325void sym_calc_value(struct symbol *sym)
326{
327 struct symbol_value newval, oldval;
328 struct property *prop;
329 struct expr *e;
330
331 if (!sym)
332 return;
333
334 if (sym->flags & SYMBOL_VALID)
335 return;
336
337 if (sym_is_choice_value(sym) &&
338 sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES) {
339 sym->flags &= ~SYMBOL_NEED_SET_CHOICE_VALUES;
340 prop = sym_get_choice_prop(sym);
341 sym_calc_value(prop_get_symbol(prop));
342 }
343
344 sym->flags |= SYMBOL_VALID;
345
346 oldval = sym->curr;
347
348 newval.tri = no;
349
350 switch (sym->type) {
351 case S_INT:
352 newval.val = "0";
353 break;
354 case S_HEX:
355 newval.val = "0x0";
356 break;
357 case S_STRING:
358 newval.val = "";
359 break;
360 case S_BOOLEAN:
361 case S_TRISTATE:
362 newval.val = "n";
363 break;
364 default:
365 sym->curr.val = sym->name;
366 sym->curr.tri = no;
367 return;
368 }
369 sym->flags &= ~SYMBOL_WRITE;
370
371 sym_calc_visibility(sym);
372
373 if (sym->visible != no)
374 sym->flags |= SYMBOL_WRITE;
375
376 /* set default if recursively called */
377 sym->curr = newval;
378
379 switch (sym_get_type(sym)) {
380 case S_BOOLEAN:
381 case S_TRISTATE:
382 if (sym_is_choice_value(sym) && sym->visible == yes) {

Callers 15

testUpdateMenuMethod · 0.85
initMethod · 0.85
sym_get_range_valFunction · 0.85
sym_clear_all_validFunction · 0.85
sym_get_string_defaultFunction · 0.85
sym_get_string_valueFunction · 0.85
sym_re_searchFunction · 0.85
expr_calc_valueFunction · 0.85
conf_readFunction · 0.85
conf_write_defconfigFunction · 0.85
conf_writeFunction · 0.85
conf_touch_depsFunction · 0.85

Calls 15

sym_is_choice_valueFunction · 0.85
sym_get_choice_propFunction · 0.85
prop_get_symbolFunction · 0.85
sym_calc_visibilityFunction · 0.85
sym_get_typeFunction · 0.85
sym_has_valueFunction · 0.85
sym_is_choiceFunction · 0.85
sym_get_default_propFunction · 0.85
expr_calc_valueFunction · 0.85
sym_warn_unmet_depFunction · 0.85
sym_calc_choiceFunction · 0.85
sym_validate_rangeFunction · 0.85

Tested by

no test coverage detected