kconfig: use linked list in get_symbol_str() to iterate over menus
Currently, get_symbol_str() uses a tricky approach to traverse the associated menus. With relevant menus now linked to the symbol using a linked list, use list_for_each_entry() for iterating on the menus. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
This commit is contained in:
parent
e0492219a6
commit
bedf923623
@ -771,6 +771,7 @@ static void get_symbol_str(struct gstr *r, struct symbol *sym,
|
|||||||
struct list_head *head)
|
struct list_head *head)
|
||||||
{
|
{
|
||||||
struct property *prop;
|
struct property *prop;
|
||||||
|
struct menu *menu;
|
||||||
|
|
||||||
if (sym && sym->name) {
|
if (sym && sym->name) {
|
||||||
str_printf(r, "Symbol: %s [=%s]\n", sym->name,
|
str_printf(r, "Symbol: %s [=%s]\n", sym->name,
|
||||||
@ -787,17 +788,17 @@ static void get_symbol_str(struct gstr *r, struct symbol *sym,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Print the definitions with prompts before the ones without */
|
/* Print the definitions with prompts before the ones without */
|
||||||
for_all_properties(sym, prop, P_SYMBOL) {
|
list_for_each_entry(menu, &sym->menus, link) {
|
||||||
if (prop->menu->prompt) {
|
if (menu->prompt) {
|
||||||
get_def_str(r, prop->menu);
|
get_def_str(r, menu);
|
||||||
get_prompt_str(r, prop->menu->prompt, head);
|
get_prompt_str(r, menu->prompt, head);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for_all_properties(sym, prop, P_SYMBOL) {
|
list_for_each_entry(menu, &sym->menus, link) {
|
||||||
if (!prop->menu->prompt) {
|
if (!menu->prompt) {
|
||||||
get_def_str(r, prop->menu);
|
get_def_str(r, menu);
|
||||||
get_dep_str(r, prop->menu->dep, " Depends on: ");
|
get_dep_str(r, menu->dep, " Depends on: ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user