diff --git a/env/common.c b/env/common.c index 842c0f7..9b3a268 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 ac6a583..a239d93 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 584fd72..1df2434 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_ */