Change env_get_char from a global function ptr to a function.
This avoids an early global data reference. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
This commit is contained in:
parent
3dfd4aab92
commit
c0559be371
@ -40,7 +40,6 @@
|
||||
|
||||
/* U-Boot routines needed */
|
||||
extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||
extern uchar (*env_get_char)(int);
|
||||
extern uchar *env_get_addr(int);
|
||||
|
||||
/*****************************************************************************
|
||||
|
@ -68,9 +68,6 @@ DECLARE_GLOBAL_DATA_PTR;
|
||||
/************************************************************************
|
||||
************************************************************************/
|
||||
|
||||
/* Function that returns a character from the environment */
|
||||
extern uchar (*env_get_char)(int);
|
||||
|
||||
/* Function that returns a pointer to a value from the environment */
|
||||
/* (Only memory version supported / needed). */
|
||||
extern uchar *env_get_addr(int);
|
||||
|
@ -50,7 +50,6 @@ extern void env_relocate_spec (void);
|
||||
extern uchar env_get_char_spec(int);
|
||||
|
||||
static uchar env_get_char_init (int index);
|
||||
uchar (*env_get_char)(int) = env_get_char_init;
|
||||
|
||||
/************************************************************************
|
||||
* Default settings to be used when no valid environment is found
|
||||
@ -182,6 +181,19 @@ uchar env_get_char_memory (int index)
|
||||
}
|
||||
#endif
|
||||
|
||||
uchar env_get_char (int index)
|
||||
{
|
||||
uchar c;
|
||||
|
||||
/* if relocated to RAM */
|
||||
if (gd->flags & GD_FLG_RELOC)
|
||||
c = env_get_char_memory(index);
|
||||
else
|
||||
c = env_get_char_init(index);
|
||||
|
||||
return (c);
|
||||
}
|
||||
|
||||
uchar *env_get_addr (int index)
|
||||
{
|
||||
if (gd->env_valid) {
|
||||
@ -215,11 +227,6 @@ void env_relocate (void)
|
||||
DEBUGF ("%s[%d] malloced ENV at %p\n", __FUNCTION__,__LINE__,env_ptr);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* After relocation to RAM, we can always use the "memory" functions
|
||||
*/
|
||||
env_get_char = env_get_char_memory;
|
||||
|
||||
if (gd->env_valid == 0) {
|
||||
#if defined(CONFIG_GTH) || defined(CFG_ENV_IS_NOWHERE) /* Environment not changable */
|
||||
puts ("Using default environment\n\n");
|
||||
|
@ -38,7 +38,6 @@ env_t *env_ptr = NULL;
|
||||
|
||||
char * env_name_spec = "EEPROM";
|
||||
|
||||
extern uchar (*env_get_char)(int);
|
||||
extern uchar env_get_char_memory (int index);
|
||||
|
||||
|
||||
|
@ -63,7 +63,6 @@ char * env_name_spec = "NVRAM";
|
||||
extern uchar default_environment[];
|
||||
extern int default_environment_size;
|
||||
|
||||
extern uchar (*env_get_char)(int);
|
||||
extern uchar env_get_char_memory (int index);
|
||||
|
||||
#ifdef CONFIG_AMIGAONEG3SE
|
||||
|
@ -396,8 +396,6 @@ void *ft_get_prop(void *bphp, const char *propname, int *szp)
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
/* Function that returns a character from the environment */
|
||||
extern uchar(*env_get_char) (int);
|
||||
|
||||
void ft_setup(void *blob, bd_t * bd, ulong initrd_start, ulong initrd_end)
|
||||
{
|
||||
|
@ -229,6 +229,7 @@ extern ulong load_addr; /* Default Load Address */
|
||||
/* common/cmd_nvedit.c */
|
||||
int env_init (void);
|
||||
void env_relocate (void);
|
||||
uchar env_get_char (int);
|
||||
int envmatch (uchar *, int);
|
||||
char *getenv (char *);
|
||||
int getenv_r (char *name, char *buf, unsigned len);
|
||||
|
Loading…
Reference in New Issue
Block a user