Update set_working_fdt_addr() to use setenv_addr()
We might as well use this common function instead of repeating the same code. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
8c86bbe00f
commit
bfc5996643
|
@ -55,12 +55,8 @@ struct fdt_header *working_fdt;
|
||||||
|
|
||||||
void set_working_fdt_addr(void *addr)
|
void set_working_fdt_addr(void *addr)
|
||||||
{
|
{
|
||||||
char buf[17];
|
|
||||||
|
|
||||||
working_fdt = addr;
|
working_fdt = addr;
|
||||||
|
setenv_addr("fdtaddr", addr);
|
||||||
sprintf(buf, "%lx", (unsigned long)addr);
|
|
||||||
setenv("fdtaddr", buf);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -347,10 +343,7 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
}
|
}
|
||||||
if (subcmd[0] == 's') {
|
if (subcmd[0] == 's') {
|
||||||
/* get the num nodes at this level */
|
/* get the num nodes at this level */
|
||||||
char buf[11];
|
setenv_ulong(var, curIndex + 1);
|
||||||
|
|
||||||
sprintf(buf, "%d", curIndex + 1);
|
|
||||||
setenv(var, buf);
|
|
||||||
} else {
|
} else {
|
||||||
/* node index not found */
|
/* node index not found */
|
||||||
printf("libfdt node not found\n");
|
printf("libfdt node not found\n");
|
||||||
|
|
|
@ -295,17 +295,17 @@ int setenv_ulong(const char *varname, ulong value)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set an environment variable to an address in hex
|
* Set an environment variable to an value in hex
|
||||||
*
|
*
|
||||||
* @param varname Environmet variable to set
|
* @param varname Environmet variable to set
|
||||||
* @param addr Value to set it to
|
* @param value Value to set it to
|
||||||
* @return 0 if ok, 1 on error
|
* @return 0 if ok, 1 on error
|
||||||
*/
|
*/
|
||||||
int setenv_addr(const char *varname, const void *addr)
|
int setenv_hex(const char *varname, ulong value)
|
||||||
{
|
{
|
||||||
char str[17];
|
char str[17];
|
||||||
|
|
||||||
sprintf(str, "%lx", (uintptr_t)addr);
|
sprintf(str, "%lx", value);
|
||||||
return setenv(varname, str);
|
return setenv(varname, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -358,7 +358,19 @@ int getenv_yesno(const char *var);
|
||||||
int saveenv (void);
|
int saveenv (void);
|
||||||
int setenv (const char *, const char *);
|
int setenv (const char *, const char *);
|
||||||
int setenv_ulong(const char *varname, ulong value);
|
int setenv_ulong(const char *varname, ulong value);
|
||||||
int setenv_addr(const char *varname, const void *addr);
|
int setenv_hex(const char *varname, ulong value);
|
||||||
|
/**
|
||||||
|
* setenv_addr - Set an environment variable to an address in hex
|
||||||
|
*
|
||||||
|
* @varname: Environmet variable to set
|
||||||
|
* @addr: Value to set it to
|
||||||
|
* @return 0 if ok, 1 on error
|
||||||
|
*/
|
||||||
|
static inline int setenv_addr(const char *varname, const void *addr)
|
||||||
|
{
|
||||||
|
return setenv_hex(varname, (ulong)addr);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ARM
|
#ifdef CONFIG_ARM
|
||||||
# include <asm/mach-types.h>
|
# include <asm/mach-types.h>
|
||||||
# include <asm/setup.h>
|
# include <asm/setup.h>
|
||||||
|
|
Loading…
Reference in New Issue