Message ID | 20210121121920.3246692-3-lusus@denx.de |
---|---|
State | Awaiting Upstream |
Delegated to: | Priyanka Jain |
Headers | show |
Series | PowerPC: keymile: Add support for kmcent2 board | expand |
On 21.01.21 13:19, Niel Fourie wrote: > 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> > Cc: Priyanka Jain <priyanka.jain@nxp.com> > Cc: Stefan Roese <sr@denx.de> Reviewed-by: Stefan Roese <sr@denx.de> Thanks, Stefan > --- > Changes in v2: > - Replaced all relevant sprintf()/set_env() instances with > set_env_hex()/set_env_ulong(), instead of only correcting > the sprintf() formatting for "pram" radix to "%ul" > > board/keymile/common/common.c | 22 ++++++---------------- > 1 file changed, 6 insertions(+), 16 deletions(-) > > diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c > index df507e2790..71af1751ef 100644 > --- a/board/keymile/common/common.c > +++ b/board/keymile/common/common.c > @@ -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 = 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,16 +58,13 @@ 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 = 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; > } > @@ -243,7 +238,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; > @@ -305,15 +299,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 ) */ > } > Viele Grüße, Stefan
diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c index df507e2790..71af1751ef 100644 --- a/board/keymile/common/common.c +++ b/board/keymile/common/common.c @@ -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 = 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,16 +58,13 @@ 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 = 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; } @@ -243,7 +238,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; @@ -305,15 +299,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 ) */ }
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> Cc: Priyanka Jain <priyanka.jain@nxp.com> Cc: Stefan Roese <sr@denx.de> --- Changes in v2: - Replaced all relevant sprintf()/set_env() instances with set_env_hex()/set_env_ulong(), instead of only correcting the sprintf() formatting for "pram" radix to "%ul" board/keymile/common/common.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-)