keymile: common: update to set_env_hex(), fix "pram" radix
authorNiel Fourie <lusus@denx.de>
Thu, 21 Jan 2021 12:19:19 +0000 (13:19 +0100)
committerPriyanka Jain <priyanka.jain@nxp.com>
Mon, 8 Feb 2021 08:31:17 +0000 (14:01 +0530)
Replace instances of sprintf()/set_env() for setting hexadecimal
values with set_env_hex().

In set_km_env() the "pram" variable was set to an hexadecimal
value, while initr_mem() expects an unsigned decimal, so use
set_env_ulong() instead.

Signed-off-by: Niel Fourie <lusus@denx.de>
Cc: Holger Brunck <holger.brunck@hitachi-powergrids.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
[Rebased]
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
board/keymile/common/common.c

index e3e9c4a..9c482d8 100644 (file)
@@ -41,7 +41,6 @@ DECLARE_GLOBAL_DATA_PTR;
  */
 int set_km_env(void)
 {
-       uchar buf[32];
        unsigned int pnvramaddr;
        unsigned int pram;
        unsigned int varaddr;
@@ -51,8 +50,7 @@ int set_km_env(void)
 
        pnvramaddr = CONFIG_SYS_SDRAM_BASE + gd->ram_size -
                CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM - CONFIG_KM_PNVRAM;
-       sprintf((char *)buf, "0x%x", pnvramaddr);
-       env_set("pnvramaddr", (char *)buf);
+       env_set_hex("pnvramaddr", pnvramaddr);
 
        /* try to read rootfssize (ram image) from environment */
        p = env_get("rootfssize");
@@ -60,17 +58,14 @@ int set_km_env(void)
                strict_strtoul(p, 16, &rootfssize);
        pram = (rootfssize + CONFIG_KM_RESERVED_PRAM + CONFIG_KM_PHRAM +
                CONFIG_KM_PNVRAM) / 0x400;
-       sprintf((char *)buf, "0x%x", pram);
-       env_set("pram", (char *)buf);
+       env_set_ulong("pram", pram);
 
        varaddr = CONFIG_SYS_SDRAM_BASE + gd->ram_size -
                CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM;
-       sprintf((char *)buf, "0x%x", varaddr);
-       env_set("varaddr", (char *)buf);
+       env_set_hex("varaddr", varaddr);
 
        kernelmem = gd->ram_size - 0x400 * pram;
-       sprintf((char *)buf, "0x%x", kernelmem);
-       env_set("kernelmem", (char *)buf);
+       env_set_hex("kernelmem", kernelmem);
 
        return 0;
 }
@@ -244,7 +239,6 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc,
        p = env_get("hwkey");
        if (p)
                rc = strict_strtoul(p, 16, &envhwkey);
-
        if (rc != 0) {
                printf("strict_strtoul returns error: %d", rc);
                return rc;
@@ -306,15 +300,11 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc,
                                 * set the values in environment variables.
                                 */
                                if (bid == ivmbid && hwkey == ivmhwkey) {
-                                       char buf[10];
-
                                        found = 1;
                                        envbid   = bid;
                                        envhwkey = hwkey;
-                                       sprintf(buf, "%lx", bid);
-                                       env_set("boardid", buf);
-                                       sprintf(buf, "%lx", hwkey);
-                                       env_set("hwkey", buf);
+                                       env_set_hex("boardid", bid);
+                                       env_set_hex("hwkey", hwkey);
                                }
                        } /* end while( ! found ) */
                }