mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
b321429325
Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk icon of the qt application, that has just started: Its in a normal, active state. Mouse click on it: .config is being saved. This patch series changes things so taht after the mouse click on the floppy disk icon, the icon is greyed out. If you mouse click on it now, nothing happens. If you change some CONFIG_*, the floppy disk icon returns to "active state", that is, if you mouse click it now, .config is written. This patch: Returns sym_change_count to reflect the .config's change state. All read only accesses of sym_change_count are replaced by calls to conf_get_changed() . mconfig.c is manipulated to ask for saving only when conf_get_changed() returned true. Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
43 lines
1.8 KiB
C
43 lines
1.8 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));
|
|
|
|
/* menu.c */
|
|
P(rootmenu,struct menu,);
|
|
|
|
P(menu_is_visible,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));
|
|
|
|
/* symbol.c */
|
|
P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
|
|
P(sym_change_count,int,);
|
|
|
|
P(sym_lookup,struct symbol *,(const char *name, int isconst));
|
|
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));
|