]> git.sur5r.net Git - u-boot/commitdiff
env: factor out the env_get_char_spec() function
authorIgor Grinberg <grinberg@compulab.co.il>
Mon, 26 Dec 2011 03:33:10 +0000 (03:33 +0000)
committerWolfgang Denk <wd@denx.de>
Thu, 5 Jan 2012 15:34:10 +0000 (16:34 +0100)
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>
common/env_common.c
common/env_flash.c
common/env_mgdisk.c
common/env_mmc.c
common/env_nand.c
common/env_nowhere.c
common/env_nvram.c
common/env_onenand.c
common/env_sf.c

index 8a7109645dbd291f3427650fc4c21da3f11db8e5..71811c4d2ac151f7acbcc057d66f6b5c6043872b 100644 (file)
@@ -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 */
index a99f850e91f57d26e3c58bf166792701f7e5463c..aa970d44007a18d2fd8d1a4a26acd3d362bcb626 100644 (file)
@@ -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)
 {
index 5dd92e709c831982eb4d556bf94e5ae3aeb5d4b1..d00e141d5b7a3c5bef10630cd102718d7e9690e6 100644 (file)
@@ -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];
index 8441c77ead7e81d677ba0bf6031828b226432ab6..0c58ae19b21e973533d5ed19b4e1ce216fbcb4b8 100644 (file)
@@ -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 */
index 3cb75c89624d087019dacfcc6f21a1f4e7e0a3ad..e8daec9712bdc8d8df2f2989d7fb2c082de70c34 100644 (file)
@@ -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.
index 8a3ca1978ff329b87d33a2ea01cdf14105a9c294..18fcf2ca41da7e70d9d899b10402296675119e78 100644 (file)
@@ -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
  *
index 726eaac55efd3ceb1ee341d6f1efbbe9dcd41540..6483db39d3388fc672985d0fde867ade43b55b5a 100644 (file)
@@ -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)
 {
index 0ad2fc7a4cd206785449c80584bb182c1dba0a7f..652665a189094bafe5eced6aaeb137da2c3c920d 100644 (file)
@@ -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;
index 592b87088eeeab7974d83eef18fab50d43c02e6b..bbd472fcf281eb2340ab3fe65b8c73c4506556ba 100644 (file)
@@ -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)
 {