env: factor out the env_get_char_spec() function
env_get_char_spec() function is duplicated across multiple environment files. Remove the duplication by providing a default implementation. Add "weak" declaration, so the default implementation can be overridden. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
This commit is contained in:
parent
33e1e01820
commit
bf95df44ff
@ -124,6 +124,13 @@ const uchar default_environment[] = {
|
||||
|
||||
struct hsearch_data env_htab;
|
||||
|
||||
static uchar __env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
uchar env_get_char_spec(int)
|
||||
__attribute__((weak, alias("__env_get_char_spec")));
|
||||
|
||||
static uchar env_get_char_init(int index)
|
||||
{
|
||||
/* if crc was bad, use the default environment */
|
||||
|
@ -73,11 +73,6 @@ static ulong end_addr_new = CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1;
|
||||
#endif /* CONFIG_ENV_ADDR_REDUND */
|
||||
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ENV_ADDR_REDUND
|
||||
int env_init(void)
|
||||
{
|
||||
|
@ -33,11 +33,6 @@ env_t *env_ptr;
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
void env_relocate_spec(void)
|
||||
{
|
||||
char buf[CONFIG_ENV_SIZE];
|
||||
|
@ -54,11 +54,6 @@ static int __mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
|
||||
int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
|
||||
__attribute__((weak, alias("__mmc_get_env_addr")));
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
int env_init(void)
|
||||
{
|
||||
/* use default */
|
||||
|
@ -66,11 +66,6 @@ env_t *env_ptr;
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
/*
|
||||
* This is called before nand_init() so we can't read NAND to
|
||||
* validate env data.
|
||||
|
@ -37,11 +37,6 @@ void env_relocate_spec(void)
|
||||
{
|
||||
}
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize Environment use
|
||||
*
|
||||
|
@ -59,18 +59,16 @@ env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
|
||||
|
||||
char *env_name_spec = "NVRAM";
|
||||
|
||||
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
|
||||
uchar c;
|
||||
|
||||
nvram_read(&c, CONFIG_ENV_ADDR + index, 1);
|
||||
|
||||
return c;
|
||||
#else
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
void env_relocate_spec(void)
|
||||
{
|
||||
|
@ -44,11 +44,6 @@ char *env_name_spec = "OneNAND";
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
void env_relocate_spec(void)
|
||||
{
|
||||
struct mtd_info *mtd = &onenand_mtd;
|
||||
|
@ -59,11 +59,6 @@ char *env_name_spec = "SPI Flash";
|
||||
|
||||
static struct spi_flash *env_flash;
|
||||
|
||||
uchar env_get_char_spec(int index)
|
||||
{
|
||||
return *((uchar *)(gd->env_addr + index));
|
||||
}
|
||||
|
||||
#if defined(CONFIG_ENV_OFFSET_REDUND)
|
||||
int saveenv(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user