mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
22c7eca61e
Usage: Press <Z> to show all config symbols which have prompts. Quote Tim Bird: | I've been bitten by this numerous times. I most often | use ftrace on ARM, but when I go back to x86, I almost | always go through a sequence of searching for the | function graph tracer in the menus, then realizing it's | completely missing until I disable CC_OPTIMIZE_FOR_SIZE. | | Is there any way to have the menu item appear, but be | unsettable unless the SIZE option is disabled? I'm | not a Kconfig guru... I myself found this useful too. For example, I need to test ftrace/tracing and want to be sure all the tracing features are enabled, so I enter the "Tracers" menu, and press <Z> to see if there is any config hidden. I also noticed gconfig and xconfig have a button "Show all options", but that's a bit too much, and I think normally what we are not interested in those configs which have no prompt thus can't be changed by users. Exmaple: --- Tracers -*- Kernel Function Tracer - - Kernel Function Graph Tracer [*] Interrupts-off Latency Tracer - - Preemption-off Latency Tracer [*] Sysprof Tracer Here you can see 2 tracers are not selectable, and then can find out how to make them selectable. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
49 lines
2.1 KiB
C
49 lines
2.1 KiB
C
|
|
/* confdata.c */
|
|
P(conf_parse,void,(const char *name));
|
|
P(conf_read,int,(const char *name));
|
|
P(conf_read_simple,int,(const char *name, int));
|
|
P(conf_write,int,(const char *name));
|
|
P(conf_write_autoconf,int,(void));
|
|
P(conf_get_changed,bool,(void));
|
|
P(conf_set_changed_callback, void,(void (*fn)(void)));
|
|
|
|
/* menu.c */
|
|
P(rootmenu,struct menu,);
|
|
|
|
P(menu_is_visible, bool, (struct menu *menu));
|
|
P(menu_has_prompt, bool, (struct menu *menu));
|
|
P(menu_get_prompt,const char *,(struct menu *menu));
|
|
P(menu_get_root_menu,struct menu *,(struct menu *menu));
|
|
P(menu_get_parent_menu,struct menu *,(struct menu *menu));
|
|
P(menu_has_help,bool,(struct menu *menu));
|
|
P(menu_get_help,const char *,(struct menu *menu));
|
|
P(get_symbol_str, void, (struct gstr *r, struct symbol *sym));
|
|
P(get_relations_str, struct gstr, (struct symbol **sym_arr));
|
|
P(menu_get_ext_help,void,(struct menu *menu, struct gstr *help));
|
|
|
|
/* symbol.c */
|
|
P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
|
|
|
|
P(sym_lookup,struct symbol *,(const char *name, int flags));
|
|
P(sym_find,struct symbol *,(const char *name));
|
|
P(sym_re_search,struct symbol **,(const char *pattern));
|
|
P(sym_type_name,const char *,(enum symbol_type type));
|
|
P(sym_calc_value,void,(struct symbol *sym));
|
|
P(sym_get_type,enum symbol_type,(struct symbol *sym));
|
|
P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
|
|
P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
|
|
P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
|
|
P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
|
|
P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
|
|
P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
|
|
P(sym_is_changable,bool,(struct symbol *sym));
|
|
P(sym_get_choice_prop,struct property *,(struct symbol *sym));
|
|
P(sym_get_default_prop,struct property *,(struct symbol *sym));
|
|
P(sym_get_string_value,const char *,(struct symbol *sym));
|
|
|
|
P(prop_get_type_name,const char *,(enum prop_type type));
|
|
|
|
/* expr.c */
|
|
P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
|
|
P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));
|