mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
kconfig: add sym_get_prompt_menu() helper function
Split out the code that retrieves the menu entry with a prompt, so it can be reused in other functions. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
parent
929ce506d6
commit
bce590f102
@ -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);
|
||||
|
||||
|
@ -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
|
||||
*
|
||||
@ -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…
Reference in New Issue
Block a user