diff options
| -rw-r--r-- | common/cmd_fdt.c | 11 | ||||
| -rw-r--r-- | common/cmd_nvedit.c | 8 | ||||
| -rw-r--r-- | include/common.h | 14 | 
3 files changed, 19 insertions, 14 deletions
| diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c index 6eec947fc..ac77a08b7 100644 --- a/common/cmd_fdt.c +++ b/common/cmd_fdt.c @@ -55,12 +55,8 @@ struct fdt_header *working_fdt;  void set_working_fdt_addr(void *addr)  { -	char buf[17]; -  	working_fdt = addr; - -	sprintf(buf, "%lx", (unsigned long)addr); -	setenv("fdtaddr", buf); +	setenv_addr("fdtaddr", addr);  }  /* @@ -347,10 +343,7 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  			}  			if (subcmd[0] == 's') {  				/* get the num nodes at this level */ -				char buf[11]; - -				sprintf(buf, "%d", curIndex + 1); -				setenv(var, buf); +				setenv_ulong(var, curIndex + 1);  			} else {  				/* node index not found */  				printf("libfdt node not found\n"); diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 7633f0c44..44e88aa40 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -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 addr		Value to set it to + * @param value		Value to set it to   * @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]; -	sprintf(str, "%lx", (uintptr_t)addr); +	sprintf(str, "%lx", value);  	return setenv(varname, str);  } diff --git a/include/common.h b/include/common.h index 1d0728f84..6d5292422 100644 --- a/include/common.h +++ b/include/common.h @@ -358,7 +358,19 @@ int getenv_yesno(const char *var);  int	saveenv	     (void);  int	setenv	     (const char *, const char *);  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  # include <asm/mach-types.h>  # include <asm/setup.h> |