[PATCH] kconfig: make sym_change_count static, let it be altered by 2 functions only

Those two functions are
	void sym_set_change_count(int count)
and
	void sym_add_change_count(int count)

All write accesses to sym_change_count are replaced by calls to above
functions.

Variable and changer-functions are moved to confdata.c.  IMO thats ok, as
sym_change_count is an attribute of the .config's change state.

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>
This commit is contained in:
Karsten Wiese 2006-12-13 00:34:07 -08:00 committed by Linus Torvalds
parent b321429325
commit bfc10001b1
6 changed files with 21 additions and 9 deletions

View File

@ -100,7 +100,7 @@ int conf_read_simple(const char *name, int def)
in = zconf_fopen(name);
if (in)
goto load;
sym_change_count++;
sym_add_change_count(1);
if (!sym_defconfig_list)
return 1;
@ -312,7 +312,7 @@ int conf_read(const char *name)
struct expr *e;
int i, flags;
sym_change_count = 0;
sym_set_change_count(0);
if (conf_read_simple(name, S_DEF_USER))
return 1;
@ -364,7 +364,7 @@ int conf_read(const char *name)
sym->flags &= flags | ~SYMBOL_DEF_USER;
}
sym_change_count += conf_warnings || conf_unsaved;
sym_add_change_count(conf_warnings || conf_unsaved);
return 0;
}
@ -528,7 +528,7 @@ int conf_write(const char *name)
"# configuration written to %s\n"
"#\n"), newname);
sym_change_count = 0;
sym_set_change_count(0);
return 0;
}
@ -766,6 +766,18 @@ int conf_write_autoconf(void)
return 0;
}
static int sym_change_count;
void sym_set_change_count(int count)
{
sym_change_count = count;
}
void sym_add_change_count(int count)
{
sym_change_count += count;
}
bool conf_get_changed(void)
{
return sym_change_count;

View File

@ -65,6 +65,8 @@ char *zconf_curname(void);
/* confdata.c */
char *conf_get_default_confname(void);
void sym_set_change_count(int count);
void sym_add_change_count(int count);
/* kconfig_load.c */
void kconfig_load(void);

View File

@ -17,7 +17,6 @@ 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));

View File

@ -30,7 +30,6 @@ struct symbol symbol_yes = {
.flags = SYMBOL_VALID,
};
int sym_change_count;
struct symbol *sym_defconfig_list;
struct symbol *modules_sym;
tristate modules_val;
@ -379,7 +378,7 @@ void sym_clear_all_valid(void)
for_all_symbols(i, sym)
sym->flags &= ~SYMBOL_VALID;
sym_change_count++;
sym_add_change_count(1);
if (modules_sym)
sym_calc_value(modules_sym);
}

View File

@ -2135,7 +2135,7 @@ void conf_parse(const char *name)
sym_check_deps(sym);
}
sym_change_count = 1;
sym_set_change_count(1);
}
const char *zconf_tokenname(int token)

View File

@ -504,7 +504,7 @@ void conf_parse(const char *name)
sym_check_deps(sym);
}
sym_change_count = 1;
sym_set_change_count(1);
}
const char *zconf_tokenname(int token)