Loading scripts/kconfig/lkc_proto.h +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ bool sym_string_valid(struct symbol *sym, const char *newval); bool sym_string_within_range(struct symbol *sym, const char *str); bool sym_set_string_value(struct symbol *sym, const char *newval); bool sym_is_changeable(const struct symbol *sym); struct menu *sym_get_prompt_menu(const struct symbol *sym); struct menu *sym_get_choice_menu(const struct symbol *sym); const char * sym_get_string_value(struct symbol *sym); Loading scripts/kconfig/symbol.c +19 −7 Original line number Diff line number Diff line Loading @@ -70,6 +70,24 @@ const char *sym_type_name(enum symbol_type type) return "???"; } /** * sym_get_prompt_menu - get the menu entry with a prompt * * @sym: a symbol pointer * * Return: the menu entry with a prompt. */ struct menu *sym_get_prompt_menu(const struct symbol *sym) { struct menu *m; list_for_each_entry(m, &sym->menus, link) if (m->prompt) return m; return NULL; } /** * sym_get_choice_menu - get the parent choice menu if present * Loading @@ -80,18 +98,12 @@ const char *sym_type_name(enum symbol_type type) struct menu *sym_get_choice_menu(const struct symbol *sym) { struct menu *menu = NULL; struct menu *m; /* * Choice members must have a prompt. Find a menu entry with a prompt, * and assume it resides inside a choice block. */ list_for_each_entry(m, &sym->menus, link) if (m->prompt) { menu = m; break; } menu = sym_get_prompt_menu(sym); if (!menu) return NULL; Loading Loading
scripts/kconfig/lkc_proto.h +1 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ bool sym_string_valid(struct symbol *sym, const char *newval); bool sym_string_within_range(struct symbol *sym, const char *str); bool sym_set_string_value(struct symbol *sym, const char *newval); bool sym_is_changeable(const struct symbol *sym); struct menu *sym_get_prompt_menu(const struct symbol *sym); struct menu *sym_get_choice_menu(const struct symbol *sym); const char * sym_get_string_value(struct symbol *sym); Loading
scripts/kconfig/symbol.c +19 −7 Original line number Diff line number Diff line Loading @@ -70,6 +70,24 @@ const char *sym_type_name(enum symbol_type type) return "???"; } /** * sym_get_prompt_menu - get the menu entry with a prompt * * @sym: a symbol pointer * * Return: the menu entry with a prompt. */ struct menu *sym_get_prompt_menu(const struct symbol *sym) { struct menu *m; list_for_each_entry(m, &sym->menus, link) if (m->prompt) return m; return NULL; } /** * sym_get_choice_menu - get the parent choice menu if present * Loading @@ -80,18 +98,12 @@ const char *sym_type_name(enum symbol_type type) struct menu *sym_get_choice_menu(const struct symbol *sym) { struct menu *menu = NULL; struct menu *m; /* * Choice members must have a prompt. Find a menu entry with a prompt, * and assume it resides inside a choice block. */ list_for_each_entry(m, &sym->menus, link) if (m->prompt) { menu = m; break; } menu = sym_get_prompt_menu(sym); if (!menu) return NULL; Loading