cmd: eeprom: don't truncate target address at 32-bit

On 64-bit platforms where int is 32-bit wide, the eeprom command
parse_numeric_param() routine truncates the memory address parameter to
the lower 32-bit. Make parse_numeric_param() return long to allow
read/write of addresses beyond the lower 4GB.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
This commit is contained in:
Baruch Siach 2022-10-23 12:28:12 +03:00 committed by Tom Rini
parent 0b999d2082
commit aa59c1bec7

View file

@ -200,10 +200,10 @@ int eeprom_write(unsigned dev_addr, unsigned offset,
return ret; return ret;
} }
static int parse_numeric_param(char *str) static long parse_numeric_param(char *str)
{ {
char *endptr; char *endptr;
int value = simple_strtol(str, &endptr, 16); long value = simple_strtol(str, &endptr, 16);
return (*endptr != '\0') ? -1 : value; return (*endptr != '\0') ? -1 : value;
} }