
Hi Niel,
On 08.01.21 11:53, Niel Fourie wrote:
In set_km_env() the pram variable was set to an hexadecimal value, while initr_mem() expects an unsigned decimal. Set the pram variable to an unsigned decimal 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
board/keymile/common/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c index 03c7ce9da7..106787efd5 100644 --- a/board/keymile/common/common.c +++ b/board/keymile/common/common.c @@ -60,7 +60,7 @@ 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);
- sprintf((char *)buf, "%u", pram); env_set("pram", (char *)buf);
Why don't you switch to using a different env_set_foo() API instead? Like env_set_ulong() in this case? Or env_set_hex() in the HEX case. This could also be done for some other env_set cases in this file as well to reduce code size and complexity.