diff --git a/env/common.c b/env/common.c index 842c0f7fd14c591f1834aec3e347c33cb3741434..9b3a26859f6b58bca0818ac5ed0b2a8799d55974 100644 --- a/env/common.c +++ b/env/common.c @@ -27,20 +27,6 @@ struct hsearch_data env_htab = { .change_ok = env_flags_validate, }; -__weak uchar env_get_char_spec(int index) -{ - return *(uchar *)(gd->env_addr + index); -} - -uchar env_get_char(int index) -{ - /* if env is not set up, or crc was bad, use the default environment */ - if (!gd->env_valid) - return default_environment[index]; - else - return env_get_char_spec(index); -} - /* * Read an environment variable as a boolean * Return -1 if variable does not exist (default to true) diff --git a/env/env.c b/env/env.c index ac6a583a0231119cbf76e9283b37dcb1bd036f87..a239d93156df8d7e5c184542b3b016c185311d39 100644 --- a/env/env.c +++ b/env/env.c @@ -69,11 +69,13 @@ struct env_driver *env_driver_lookup_default(void) return drv; } -int env_get_char_new(int index) +int env_get_char(int index) { struct env_driver *drv = env_driver_lookup_default(); int ret; + if (!gd->env_valid) + return default_environment[index]; if (!drv) return -ENODEV; if (!drv->get_char) @@ -148,11 +150,6 @@ int env_init(void) return 0; } -unsigned char env_get_char_spec(int index) -{ - return *(uchar *)(gd->env_addr + index); -} - void env_relocate_spec(void) { env_load(); diff --git a/include/environment.h b/include/environment.h index 584fd7216d2e05d25d29a391ac802b69cab9e0c4..1df243462e9d9b4626563a2ff00160b54d1d82bb 100644 --- a/include/environment.h +++ b/include/environment.h @@ -171,7 +171,6 @@ extern const unsigned char default_environment[]; extern env_t *env_ptr; extern void env_relocate_spec(void); -extern unsigned char env_get_char_spec(int); #if defined(CONFIG_NEEDS_MANUAL_RELOC) extern void env_reloc(void); @@ -281,9 +280,6 @@ struct env_driver { extern struct hsearch_data env_htab; -/* Function that returns a character from the environment */ -unsigned char env_get_char(int); - /* Function that updates CRC of the enironment */ void env_crc_update(void); @@ -314,6 +310,16 @@ int env_import_redund(const char *buf1, const char *buf2); */ struct env_driver *env_driver_lookup_default(void); +/** + * env_get_char() - Get a character from the early environment + * + * This reads from the pre-relocation environemnt + * + * @index: Index of character to read (0 = first) + * @return character read, or -ve on error + */ +int env_get_char(int index); + #endif /* DO_DEPS_ONLY */ #endif /* _ENVIRONMENT_H_ */