From: Simon Glass Date: Sat, 24 Jul 2021 15:03:29 +0000 (-0600) Subject: global: Convert simple_strtoul() with hex to hextoul() X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=7e5f460ec457fe310156e399198a41eb0ce1e98c;p=u-boot.git global: Convert simple_strtoul() with hex to hextoul() It is a pain to have to specify the value 16 in each call. Add a new hextoul() function and update the code to use it. Add a proper comment to simple_strtoul() while we are here. Signed-off-by: Simon Glass --- diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index f1624ff30a..6eb7f9c214 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -565,28 +565,28 @@ void fdt_fixup_pfe_firmware(void *blob) if (!p) return; - pclassfw = (void *)simple_strtoul(p, NULL, 16); + pclassfw = (void *)hextoul(p, NULL); if (!pclassfw) return; p = env_get("class_elf_size"); if (!p) return; - len_class = simple_strtoul(p, NULL, 16); + len_class = hextoul(p, NULL); /* If the environment variable is not set, then exit silently */ p = env_get("tmu_elf_firmware"); if (!p) return; - ptmufw = (void *)simple_strtoul(p, NULL, 16); + ptmufw = (void *)hextoul(p, NULL); if (!ptmufw) return; p = env_get("tmu_elf_size"); if (!p) return; - len_tmu = simple_strtoul(p, NULL, 16); + len_tmu = hextoul(p, NULL); if (len_class == 0 || len_tmu == 0) { printf("PFE FW corrupted. CLASS FW size %d, TMU FW size %d\n", @@ -605,14 +605,14 @@ void fdt_fixup_pfe_firmware(void *blob) if (!p) return; - putilfw = (void *)simple_strtoul(p, NULL, 16); + putilfw = (void *)hextoul(p, NULL); if (!putilfw) return; p = env_get("util_elf_size"); if (!p) return; - len_util = simple_strtoul(p, NULL, 16); + len_util = hextoul(p, NULL); if (len_util) { printf("PFE Util PE firmware is not added to FDT.\n"); diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c index 904fddd6c0..9fd82459b2 100644 --- a/arch/arm/lib/semihosting.c +++ b/arch/arm/lib/semihosting.c @@ -191,7 +191,7 @@ static int do_smhload(struct cmd_tbl *cmdtp, int flag, int argc, int ret; char end_str[64]; - load_addr = simple_strtoul(argv[2], NULL, 16); + load_addr = hextoul(argv[2], NULL); if (!load_addr) return -1; diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c index b10ead1942..40df10dd73 100644 --- a/arch/arm/mach-imx/cmd_dek.c +++ b/arch/arm/mach-imx/cmd_dek.c @@ -300,8 +300,8 @@ static int do_dek_blob(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != 4) return CMD_RET_USAGE; - src_addr = simple_strtoul(argv[1], NULL, 16); - dst_addr = simple_strtoul(argv[2], NULL, 16); + src_addr = hextoul(argv[1], NULL); + dst_addr = hextoul(argv[2], NULL); len = simple_strtoul(argv[3], NULL, 10); return blob_encap_dek(src_addr, dst_addr, len); diff --git a/arch/arm/mach-imx/cmd_mfgprot.c b/arch/arm/mach-imx/cmd_mfgprot.c index 1430f61909..29074fc298 100644 --- a/arch/arm/mach-imx/cmd_mfgprot.c +++ b/arch/arm/mach-imx/cmd_mfgprot.c @@ -71,7 +71,7 @@ static int do_mfgprot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) if (argc != 4) return CMD_RET_USAGE; - m_addr = simple_strtoul(argv[2], NULL, 16); + m_addr = hextoul(argv[2], NULL); m_size = simple_strtoul(argv[3], NULL, 10); m_ptr = map_physmem(m_addr, m_size, MAP_NOCACHE); if (!m_ptr) diff --git a/arch/arm/mach-imx/cmd_nandbcb.c b/arch/arm/mach-imx/cmd_nandbcb.c index 7157c9e979..cd51344597 100644 --- a/arch/arm/mach-imx/cmd_nandbcb.c +++ b/arch/arm/mach-imx/cmd_nandbcb.c @@ -1083,13 +1083,13 @@ static int do_nandbcb_bcbonly(int argc, char *const argv[]) mtd = cfg.mtd; - cfg.boot_stream1_address = simple_strtoul(argv[2], NULL, 16); - cfg.boot_stream1_size = simple_strtoul(argv[3], NULL, 16); + cfg.boot_stream1_address = hextoul(argv[2], NULL); + cfg.boot_stream1_size = hextoul(argv[3], NULL); cfg.boot_stream1_size = ALIGN(cfg.boot_stream1_size, mtd->writesize); if (argc > 5) { - cfg.boot_stream2_address = simple_strtoul(argv[4], NULL, 16); - cfg.boot_stream2_size = simple_strtoul(argv[5], NULL, 16); + cfg.boot_stream2_address = hextoul(argv[4], NULL); + cfg.boot_stream2_size = hextoul(argv[5], NULL); cfg.boot_stream2_size = ALIGN(cfg.boot_stream2_size, mtd->writesize); } @@ -1450,7 +1450,7 @@ static int do_nandbcb_init(int argc, char * const argv[]) if (nandbcb_set_boot_config(argc, argv, &cfg)) return CMD_RET_FAILURE; - addr = simple_strtoul(argv[1], &endp, 16); + addr = hextoul(argv[1], &endp); if (*argv[1] == 0 || *endp != 0) return CMD_RET_FAILURE; diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c index 00bd157d0e..cc39e6bf56 100644 --- a/arch/arm/mach-imx/hab.c +++ b/arch/arm/mach-imx/hab.c @@ -609,12 +609,12 @@ static int do_authenticate_image(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); - length = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[1], NULL); + length = hextoul(argv[2], NULL); if (argc == 3) ivt_offset = get_image_ivt_offset(addr); else - ivt_offset = simple_strtoul(argv[3], NULL, 16); + ivt_offset = hextoul(argv[3], NULL); rcode = imx_hab_authenticate_image(addr, length, ivt_offset); if (rcode == 0) diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c index 6392fe267a..015267c8b2 100644 --- a/arch/arm/mach-imx/imx8/ahab.c +++ b/arch/arm/mach-imx/imx8/ahab.c @@ -161,7 +161,7 @@ static int do_authenticate(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); printf("Authenticate OS container at 0x%lx\n", addr); diff --git a/arch/arm/mach-imx/imx8/snvs_security_sc.c b/arch/arm/mach-imx/imx8/snvs_security_sc.c index 6f9b1c99fc..7c34ce6d5f 100644 --- a/arch/arm/mach-imx/imx8/snvs_security_sc.c +++ b/arch/arm/mach-imx/imx8/snvs_security_sc.c @@ -638,24 +638,24 @@ static int do_snvs_cfg(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != (NB_REGISTERS + 1)) return CMD_RET_USAGE; - conf.hp.lock = simple_strtoul(argv[++idx], NULL, 16); - conf.hp.secvio_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.lock = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.secvio_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.tamper_filt_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.tamper_det_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.tamper_det_cfg2 = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.tamper_filt1_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.tamper_filt2_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper1_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper2_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper3_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper4_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper5_cfg = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper_clk_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper_routing_ctl1 = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.act_tamper_routing_ctl2 = simple_strtoul(argv[++idx], NULL, 16); + conf.hp.lock = hextoul(argv[++idx], NULL); + conf.hp.secvio_ctl = hextoul(argv[++idx], NULL); + conf.lp.lock = hextoul(argv[++idx], NULL); + conf.lp.secvio_ctl = hextoul(argv[++idx], NULL); + conf.lp.tamper_filt_cfg = hextoul(argv[++idx], NULL); + conf.lp.tamper_det_cfg = hextoul(argv[++idx], NULL); + conf.lp.tamper_det_cfg2 = hextoul(argv[++idx], NULL); + conf.lp.tamper_filt1_cfg = hextoul(argv[++idx], NULL); + conf.lp.tamper_filt2_cfg = hextoul(argv[++idx], NULL); + conf.lp.act_tamper1_cfg = hextoul(argv[++idx], NULL); + conf.lp.act_tamper2_cfg = hextoul(argv[++idx], NULL); + conf.lp.act_tamper3_cfg = hextoul(argv[++idx], NULL); + conf.lp.act_tamper4_cfg = hextoul(argv[++idx], NULL); + conf.lp.act_tamper5_cfg = hextoul(argv[++idx], NULL); + conf.lp.act_tamper_ctl = hextoul(argv[++idx], NULL); + conf.lp.act_tamper_clk_ctl = hextoul(argv[++idx], NULL); + conf.lp.act_tamper_routing_ctl1 = hextoul(argv[++idx], NULL); + conf.lp.act_tamper_routing_ctl2 = hextoul(argv[++idx], NULL); err = apply_snvs_config(&conf); @@ -690,12 +690,12 @@ static int do_snvs_dgo_cfg(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != (6 + 1)) return CMD_RET_USAGE; - conf.tamper_offset_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.tamper_pull_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.tamper_ana_test_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.tamper_sensor_trim_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.tamper_misc_ctl = simple_strtoul(argv[++idx], NULL, 16); - conf.tamper_core_volt_mon_ctl = simple_strtoul(argv[++idx], NULL, 16); + conf.tamper_offset_ctl = hextoul(argv[++idx], NULL); + conf.tamper_pull_ctl = hextoul(argv[++idx], NULL); + conf.tamper_ana_test_ctl = hextoul(argv[++idx], NULL); + conf.tamper_sensor_trim_ctl = hextoul(argv[++idx], NULL); + conf.tamper_misc_ctl = hextoul(argv[++idx], NULL); + conf.tamper_core_volt_mon_ctl = hextoul(argv[++idx], NULL); err = apply_snvs_dgo_config(&conf); @@ -727,7 +727,7 @@ static int do_tamper_pin_cfg(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; conf.pad = simple_strtoul(argv[++idx], NULL, 10); - conf.mux_conf = simple_strtoul(argv[++idx], NULL, 16); + conf.mux_conf = hextoul(argv[++idx], NULL); err = apply_tamper_pin_list_config(&conf, 1); @@ -761,8 +761,8 @@ static int do_snvs_clear_status(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != (2 + 1)) return CMD_RET_USAGE; - conf.lp.status = simple_strtoul(argv[++idx], NULL, 16); - conf.lp.tamper_det_status = simple_strtoul(argv[++idx], NULL, 16); + conf.lp.status = hextoul(argv[++idx], NULL); + conf.lp.tamper_det_status = hextoul(argv[++idx], NULL); scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.status), &conf.lp.status, NULL, NULL, NULL, diff --git a/arch/arm/mach-imx/imx_bootaux.c b/arch/arm/mach-imx/imx_bootaux.c index 30fb45d48c..9ffe5ac6e3 100644 --- a/arch/arm/mach-imx/imx_bootaux.c +++ b/arch/arm/mach-imx/imx_bootaux.c @@ -180,7 +180,7 @@ static int do_bootaux(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_SUCCESS; } - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); if (!addr) return CMD_RET_FAILURE; diff --git a/arch/arm/mach-imx/mx6/mp.c b/arch/arm/mach-imx/mx6/mp.c index 2fdf070a08..de9ace083c 100644 --- a/arch/arm/mach-imx/mx6/mp.c +++ b/arch/arm/mach-imx/mx6/mp.c @@ -47,7 +47,7 @@ int cpu_release(u32 nr, int argc, char *const argv[]) { uint32_t boot_addr; - boot_addr = simple_strtoul(argv[0], NULL, 16); + boot_addr = hextoul(argv[0], NULL); switch (nr) { case 1: diff --git a/arch/arm/mach-keystone/cmd_mon.c b/arch/arm/mach-keystone/cmd_mon.c index 049d573473..e26296b6da 100644 --- a/arch/arm/mach-keystone/cmd_mon.c +++ b/arch/arm/mach-keystone/cmd_mon.c @@ -25,7 +25,7 @@ static int do_mon_install(struct cmd_tbl *cmdtp, int flag, int argc, freq = CONFIG_SYS_HZ_CLOCK; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); header = (struct image_header *)addr; @@ -40,7 +40,7 @@ static int do_mon_install(struct cmd_tbl *cmdtp, int flag, int argc, size); if (argc >= 3) - ecrypt_bm_addr = simple_strtoul(argv[2], NULL, 16); + ecrypt_bm_addr = hextoul(argv[2], NULL); rcode = mon_install(load_addr, dpsc_base, freq, ecrypt_bm_addr); printf("## installed monitor @ 0x%x, freq [%d], status %d\n", @@ -76,8 +76,8 @@ int do_mon_power(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - core_id = simple_strtoul(argv[1], NULL, 16); - on = simple_strtoul(argv[2], NULL, 16); + core_id = hextoul(argv[1], NULL); + on = hextoul(argv[2], NULL); if (on) rcode = mon_power_on(core_id, fn); diff --git a/arch/arm/mach-snapdragon/misc.c b/arch/arm/mach-snapdragon/misc.c index aaa561c2c6..985625a548 100644 --- a/arch/arm/mach-snapdragon/misc.c +++ b/arch/arm/mach-snapdragon/misc.c @@ -47,7 +47,7 @@ void msm_generate_mac_addr(u8 *mac) mac[0] = 0x02; mac[1] = 00; for (i = 3; i >= 0; i--) { - mac[i + 2] = simple_strtoul(&sn[2 * i], NULL, 16); + mac[i + 2] = hextoul(&sn[2 * i], NULL); sn[2 * i] = 0; } } diff --git a/arch/arm/mach-socfpga/misc.c b/arch/arm/mach-socfpga/misc.c index 64a7c9d652..f8d3d48ee8 100644 --- a/arch/arm/mach-socfpga/misc.c +++ b/arch/arm/mach-socfpga/misc.c @@ -191,7 +191,7 @@ static int do_bridge(struct cmd_tbl *cmdtp, int flag, int argc, argv++; if (argc == 3) - mask = simple_strtoul(argv[1], NULL, 16); + mask = hextoul(argv[1], NULL); switch (*argv[0]) { case 'e': /* Enable */ diff --git a/arch/arm/mach-socfpga/vab.c b/arch/arm/mach-socfpga/vab.c index 85b3f30211..e146f2c529 100644 --- a/arch/arm/mach-socfpga/vab.c +++ b/arch/arm/mach-socfpga/vab.c @@ -17,8 +17,8 @@ static int do_vab(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); - len = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[1], NULL); + len = hextoul(argv[2], NULL); if (socfpga_vendor_authentication((void *)&addr, (size_t *)&len) != 0) return CMD_RET_FAILURE; diff --git a/arch/arm/mach-stm32mp/cmd_stm32key.c b/arch/arm/mach-stm32mp/cmd_stm32key.c index 50840b0f38..68f28922d1 100644 --- a/arch/arm/mach-stm32mp/cmd_stm32key.c +++ b/arch/arm/mach-stm32mp/cmd_stm32key.c @@ -162,7 +162,7 @@ static int do_stm32key_read(struct cmd_tbl *cmdtp, int flag, int argc, char *con return CMD_RET_SUCCESS; } - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); if (!addr) return CMD_RET_USAGE; @@ -185,7 +185,7 @@ static int do_stm32key_fuse(struct cmd_tbl *cmdtp, int flag, int argc, char *con yes = true; } - addr = simple_strtoul(argv[argc - 1], NULL, 16); + addr = hextoul(argv[argc - 1], NULL); if (!addr) return CMD_RET_USAGE; diff --git a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c index 064f51b2c7..bf9a686e96 100644 --- a/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c +++ b/arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c @@ -64,12 +64,12 @@ static int do_stm32prog(struct cmd_tbl *cmdtp, int flag, int argc, addr = STM32_DDR_BASE; size = 0; if (argc > 3) { - addr = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); if (!addr) return CMD_RET_FAILURE; } if (argc > 4) - size = simple_strtoul(argv[4], NULL, 16); + size = hextoul(argv[4], NULL); /* check STM32IMAGE presence */ if (size == 0) { diff --git a/arch/arm/mach-uniphier/board_late_init.c b/arch/arm/mach-uniphier/board_late_init.c index b33c4b1938..b5356ed87e 100644 --- a/arch/arm/mach-uniphier/board_late_init.c +++ b/arch/arm/mach-uniphier/board_late_init.c @@ -66,7 +66,7 @@ static void uniphier_set_env_addr(const char *env, const char *offset_env) if (!str) goto fail; - offset = simple_strtoul(str, &end, 16); + offset = hextoul(str, &end); if (*end) goto fail; } diff --git a/arch/arm/mach-zynqmp/mp.c b/arch/arm/mach-zynqmp/mp.c index 74783ae5a7..704520e7a3 100644 --- a/arch/arm/mach-zynqmp/mp.c +++ b/arch/arm/mach-zynqmp/mp.c @@ -252,7 +252,7 @@ int cpu_release(u32 nr, int argc, char *const argv[]) return 1; } - u32 boot_addr = simple_strtoul(argv[0], NULL, 16); + u32 boot_addr = hextoul(argv[0], NULL); u32 boot_addr_uniq = 0; if (!(boot_addr == ZYNQMP_R5_LOVEC_ADDR || boot_addr == ZYNQMP_R5_HIVEC_ADDR)) { diff --git a/arch/mips/mach-octeon/bootoctlinux.c b/arch/mips/mach-octeon/bootoctlinux.c index c195dc28ad..349da08da6 100644 --- a/arch/mips/mach-octeon/bootoctlinux.c +++ b/arch/mips/mach-octeon/bootoctlinux.c @@ -281,8 +281,7 @@ int octeon_parse_bootopts(int argc, char *const argv[], } else if (!strncmp(argv[arg], "forceboot", 9)) { boot_args->forceboot = true; } else if (!strncmp(argv[arg], "nodemask=", 9)) { - boot_args->node_mask = simple_strtoul(argv[arg] + 9, - NULL, 16); + boot_args->node_mask = hextoul(argv[arg] + 9, NULL); } else if (!strncmp(argv[arg], "numcores=", 9)) { memset(node_values, 0, sizeof(node_values)); num_values = octeon_parse_nodes(node_values, @@ -383,7 +382,7 @@ int do_bootoctlinux(struct cmd_tbl *cmdtp, int flag, int argc, argv[1][1] == 'x' || argv[1][1] == 'X' || argv[1][1] == '\0'))) { - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); if (!addr) addr = CONFIG_SYS_LOAD_ADDR; arg_start++; diff --git a/arch/nds32/lib/bootm.c b/arch/nds32/lib/bootm.c index b3b8bc2903..4cb0f530ae 100644 --- a/arch/nds32/lib/bootm.c +++ b/arch/nds32/lib/bootm.c @@ -64,7 +64,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) s = env_get("machid"); if (s) { - machid = simple_strtoul(s, NULL, 16); + machid = hextoul(s, NULL); printf("Using machid 0x%x from environment\n", machid); } diff --git a/arch/nios2/lib/bootm.c b/arch/nios2/lib/bootm.c index 2c8f9731c7..5037467151 100644 --- a/arch/nios2/lib/bootm.c +++ b/arch/nios2/lib/bootm.c @@ -27,7 +27,7 @@ int do_bootm_linux(int flag, int argc, char *const argv[], of_flat_tree = images->ft_addr; #endif if (!of_flat_tree && argc > 1) - of_flat_tree = (char *)simple_strtoul(argv[1], NULL, 16); + of_flat_tree = (char *)hextoul(argv[1], NULL); if (of_flat_tree) initrd_end = (ulong)of_flat_tree; diff --git a/arch/powerpc/cpu/mpc83xx/ecc.c b/arch/powerpc/cpu/mpc83xx/ecc.c index 1343dd3d3a..68a7a780d2 100644 --- a/arch/powerpc/cpu/mpc83xx/ecc.c +++ b/arch/powerpc/cpu/mpc83xx/ecc.c @@ -219,17 +219,17 @@ int do_ecc(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) ddr->err_detect = val; return 0; } else if (strcmp(argv[1], "injectdatahi") == 0) { - val = simple_strtoul(argv[2], NULL, 16); + val = hextoul(argv[2], NULL); ddr->data_err_inject_hi = val; return 0; } else if (strcmp(argv[1], "injectdatalo") == 0) { - val = simple_strtoul(argv[2], NULL, 16); + val = hextoul(argv[2], NULL); ddr->data_err_inject_lo = val; return 0; } else if (strcmp(argv[1], "injectecc") == 0) { - val = simple_strtoul(argv[2], NULL, 16); + val = hextoul(argv[2], NULL); if (val > 0xff) { printf("Incorrect ECC inject mask, " "should be 0x00..0xff\n"); @@ -269,8 +269,8 @@ int do_ecc(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } if (argc == 4) { if (strcmp(argv[1], "testdw") == 0) { - addr = (u64 *) simple_strtoul(argv[2], NULL, 16); - count = simple_strtoul(argv[3], NULL, 16); + addr = (u64 *)hextoul(argv[2], NULL); + count = hextoul(argv[3], NULL); if ((u32) addr % 8) { printf("Address not aligned on " @@ -308,8 +308,8 @@ int do_ecc(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 0; } if (strcmp(argv[1], "testword") == 0) { - addr = (u64 *) simple_strtoul(argv[2], NULL, 16); - count = simple_strtoul(argv[3], NULL, 16); + addr = (u64 *)hextoul(argv[2], NULL); + count = hextoul(argv[3], NULL); if ((u32) addr % 8) { printf("Address not aligned on " diff --git a/arch/powerpc/cpu/mpc85xx/mp.c b/arch/powerpc/cpu/mpc85xx/mp.c index 653efe09f9..b1b002c900 100644 --- a/arch/powerpc/cpu/mpc85xx/mp.c +++ b/arch/powerpc/cpu/mpc85xx/mp.c @@ -167,7 +167,7 @@ int cpu_release(u32 nr, int argc, char *const argv[]) for (i = 1; i < 3; i++) { if (argv[i][0] != '-') { u8 entry = boot_entry_map[i]; - val = simple_strtoul(argv[i], NULL, 16); + val = hextoul(argv[i], NULL); table[entry] = val; } } diff --git a/arch/sh/lib/zimageboot.c b/arch/sh/lib/zimageboot.c index c38f0933f8..c2e285ff0f 100644 --- a/arch/sh/lib/zimageboot.c +++ b/arch/sh/lib/zimageboot.c @@ -37,11 +37,12 @@ int do_sh_zimageboot(struct cmd_tbl *cmdtp, int flag, int argc, } if (s0) - zboot_entry = (ulong (*)(int, char * const []))simple_strtoul(s0, NULL, 16); + zboot_entry = (ulong (*)(int, char * const []))hextoul(s0, + NULL); /* empty_zero_page */ if (s1) - param = (unsigned char*)simple_strtoul(s1, NULL, 16); + param = (unsigned char *)hextoul(s1, NULL); /* Linux kernel command line */ cmdline = (char *)param + COMMAND_LINE; diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index cf4210cd4b..9938c80a42 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -405,17 +405,17 @@ static int do_zboot_start(struct cmd_tbl *cmdtp, int flag, int argc, } if (s) - state.bzimage_addr = simple_strtoul(s, NULL, 16); + state.bzimage_addr = hextoul(s, NULL); if (argc >= 3) { /* argv[2] holds the size of the bzImage */ - state.bzimage_size = simple_strtoul(argv[2], NULL, 16); + state.bzimage_size = hextoul(argv[2], NULL); } if (argc >= 4) - state.initrd_addr = simple_strtoul(argv[3], NULL, 16); + state.initrd_addr = hextoul(argv[3], NULL); if (argc >= 5) - state.initrd_size = simple_strtoul(argv[4], NULL, 16); + state.initrd_size = hextoul(argv[4], NULL); if (argc >= 6) { /* * When the base_ptr is passed in, we assume that the image is @@ -428,7 +428,7 @@ static int do_zboot_start(struct cmd_tbl *cmdtp, int flag, int argc, * load address and set bzimage_addr to 0 so we know that it * cannot be proceesed (or processed again). */ - state.base_ptr = (void *)simple_strtoul(argv[5], NULL, 16); + state.base_ptr = (void *)hextoul(argv[5], NULL); state.load_address = state.bzimage_addr; state.bzimage_addr = 0; } @@ -702,7 +702,7 @@ static int do_zboot_dump(struct cmd_tbl *cmdtp, int flag, int argc, struct boot_params *base_ptr = state.base_ptr; if (argc > 1) - base_ptr = (void *)simple_strtoul(argv[1], NULL, 16); + base_ptr = (void *)hextoul(argv[1], NULL); if (!base_ptr) { printf("No zboot setup_base\n"); return CMD_RET_FAILURE; @@ -749,7 +749,7 @@ int do_zboot_parent(struct cmd_tbl *cmdtp, int flag, int argc, if (argc > 1) { char *endp; - simple_strtoul(argv[1], &endp, 16); + hextoul(argv[1], &endp); /* * endp pointing to nul means that argv[1] was just a valid * number, so pass it along to the normal processing diff --git a/board/BuS/eb_cpu5282/eb_cpu5282.c b/board/BuS/eb_cpu5282/eb_cpu5282.c index 144a08922b..5829299663 100644 --- a/board/BuS/eb_cpu5282/eb_cpu5282.c +++ b/board/BuS/eb_cpu5282/eb_cpu5282.c @@ -214,7 +214,7 @@ int drv_video_init(void) #ifdef CONFIG_SPLASH_SCREEN s = env_get("splashimage"); if (s != NULL) { - splash = simple_strtoul(s, NULL, 16); + splash = hextoul(s, NULL); vcxk_acknowledge_wait(); video_display_bitmap(splash, 0, 0); } diff --git a/board/Marvell/octeontx2/board.c b/board/Marvell/octeontx2/board.c index 9b973a4ace..4e8cb839f5 100644 --- a/board/Marvell/octeontx2/board.c +++ b/board/Marvell/octeontx2/board.c @@ -230,7 +230,7 @@ static int do_go_uboot(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); fdt = board_fdt_blob_setup(); entry = (uboot_entry_t)addr; flush_cache((ulong)addr, 1 << 20); /* 1MiB should be enough */ diff --git a/board/amlogic/beelink-s922x/beelink-s922x.c b/board/amlogic/beelink-s922x/beelink-s922x.c index bb74426266..adae27fc7e 100644 --- a/board/amlogic/beelink-s922x/beelink-s922x.c +++ b/board/amlogic/beelink-s922x/beelink-s922x.c @@ -39,7 +39,7 @@ int misc_init_r(void) tmp[0] = efuse_mac_addr[i * 2]; tmp[1] = efuse_mac_addr[i * 2 + 1]; tmp[2] = '\0'; - mac_addr[i] = simple_strtoul(tmp, NULL, 16); + mac_addr[i] = hextoul(tmp, NULL); } if (is_valid_ethaddr(mac_addr)) diff --git a/board/amlogic/odroid-n2/odroid-n2.c b/board/amlogic/odroid-n2/odroid-n2.c index 88a60f34fe..c37ea65417 100644 --- a/board/amlogic/odroid-n2/odroid-n2.c +++ b/board/amlogic/odroid-n2/odroid-n2.c @@ -126,7 +126,7 @@ int misc_init_r(void) tmp[0] = efuse_mac_addr[i * 2]; tmp[1] = efuse_mac_addr[i * 2 + 1]; tmp[2] = '\0'; - mac_addr[i] = simple_strtoul(tmp, NULL, 16); + mac_addr[i] = hextoul(tmp, NULL); } if (is_valid_ethaddr(mac_addr)) diff --git a/board/amlogic/vim3/vim3.c b/board/amlogic/vim3/vim3.c index 18ef146218..5d9ac6458d 100644 --- a/board/amlogic/vim3/vim3.c +++ b/board/amlogic/vim3/vim3.c @@ -166,7 +166,7 @@ int misc_init_r(void) tmp[0] = efuse_mac_addr[i * 2]; tmp[1] = efuse_mac_addr[i * 2 + 1]; tmp[2] = '\0'; - mac_addr[i] = simple_strtoul(tmp, NULL, 16); + mac_addr[i] = hextoul(tmp, NULL); } if (is_valid_ethaddr(mac_addr)) diff --git a/board/bluewater/gurnard/gurnard.c b/board/bluewater/gurnard/gurnard.c index e217b95b4f..35c89850be 100644 --- a/board/bluewater/gurnard/gurnard.c +++ b/board/bluewater/gurnard/gurnard.c @@ -376,7 +376,7 @@ int board_late_init(void) /* Parse MAC address */ for (i = 0; i < 6; i++) { env_enetaddr[i] = env_str ? - simple_strtoul(env_str, &end, 16) : 0; + hextoul(env_str, &end) : 0; if (env_str) env_str = (*end) ? end+1 : end; } diff --git a/board/cavium/thunderx/atf.c b/board/cavium/thunderx/atf.c index 64aa198765..582af6f1f1 100644 --- a/board/cavium/thunderx/atf.c +++ b/board/cavium/thunderx/atf.c @@ -235,25 +235,25 @@ int do_atf(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) char str[4 * sizeof(uint64_t)]; if ((argc == 5) && !strcmp(argv[1], "readmmc")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); + buffer = (void *)hextoul(argv[2], NULL); offset = simple_strtoul(argv[3], NULL, 10); size = simple_strtoul(argv[4], NULL, 10); ret = atf_read_mmc(offset, buffer, size); } else if ((argc == 5) && !strcmp(argv[1], "readnor")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); + buffer = (void *)hextoul(argv[2], NULL); offset = simple_strtoul(argv[3], NULL, 10); size = simple_strtoul(argv[4], NULL, 10); ret = atf_read_nor(offset, buffer, size); } else if ((argc == 5) && !strcmp(argv[1], "writemmc")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); + buffer = (void *)hextoul(argv[2], NULL); offset = simple_strtoul(argv[3], NULL, 10); size = simple_strtoul(argv[4], NULL, 10); ret = atf_write_mmc(offset, buffer, size); } else if ((argc == 5) && !strcmp(argv[1], "writenor")) { - buffer = (void *)simple_strtoul(argv[2], NULL, 16); + buffer = (void *)hextoul(argv[2], NULL); offset = simple_strtoul(argv[3], NULL, 10); size = simple_strtoul(argv[4], NULL, 10); diff --git a/board/esd/meesc/meesc.c b/board/esd/meesc/meesc.c index eaa525eb00..a3eee63e37 100644 --- a/board/esd/meesc/meesc.c +++ b/board/esd/meesc/meesc.c @@ -208,7 +208,7 @@ void get_board_serial(struct tag_serialnr *serialnr) str = strchr(serial, '_'); if (str && (strlen(str) >= 4)) { serialnr->high = (*(str + 1) << 8) | *(str + 2); - serialnr->low = simple_strtoul(str + 3, NULL, 16); + serialnr->low = hextoul(str + 3, NULL); } } else { serialnr->high = 0; diff --git a/board/freescale/common/cmd_esbc_validate.c b/board/freescale/common/cmd_esbc_validate.c index 638aa3c19a..6c096266b4 100644 --- a/board/freescale/common/cmd_esbc_validate.c +++ b/board/freescale/common/cmd_esbc_validate.c @@ -40,7 +40,7 @@ static int do_esbc_validate(struct cmd_tbl *cmdtp, int flag, int argc, hash_str = argv[2]; /* First argument - header address -32/64bit */ - haddr = (uintptr_t)simple_strtoul(argv[1], NULL, 16); + haddr = (uintptr_t)hextoul(argv[1], NULL); /* With esbc_validate command, Image address must be * part of header. So, the function is called diff --git a/board/freescale/common/fsl_validate.c b/board/freescale/common/fsl_validate.c index 564a8b3b54..066aa9a7c3 100644 --- a/board/freescale/common/fsl_validate.c +++ b/board/freescale/common/fsl_validate.c @@ -767,7 +767,7 @@ static inline int str2longbe(const char *p, ulong *num) if (!p) { return 0; } else { - tmp = simple_strtoul(p, &endptr, 16); + tmp = hextoul(p, &endptr); if (sizeof(ulong) == 4) *num = cpu_to_be32(tmp); else diff --git a/board/freescale/common/sys_eeprom.c b/board/freescale/common/sys_eeprom.c index be0fda0638..9e73056a29 100644 --- a/board/freescale/common/sys_eeprom.c +++ b/board/freescale/common/sys_eeprom.c @@ -378,7 +378,7 @@ static void set_mac_address(unsigned int index, const char *string) } for (i = 0; *p && (i < 6); i++) { - e.mac[index][i] = simple_strtoul(p, &p, 16); + e.mac[index][i] = hextoul(p, &p); if (*p == ':') p++; } @@ -452,7 +452,7 @@ int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) set_date(argv[2]); break; case 'p': /* MAC table size */ - e.mac_count = simple_strtoul(argv[2], NULL, 16); + e.mac_count = hextoul(argv[2], NULL); update_crc(); break; case '0' ... '9': /* "mac 0" through "mac 22" */ diff --git a/board/freescale/lx2160a/eth_lx2160aqds.c b/board/freescale/lx2160a/eth_lx2160aqds.c index 437f0bc4cf..a2b6442b54 100644 --- a/board/freescale/lx2160a/eth_lx2160aqds.c +++ b/board/freescale/lx2160a/eth_lx2160aqds.c @@ -416,7 +416,7 @@ static inline void do_dpmac_config(int dpmac, const char *arg_dpmacid, env_dpmac, phy_num + 1, arg_dpmacid); else wriop_set_phy_address(dpmac, phy_num, - simple_strtoul(ret, NULL, 16)); + hextoul(ret, NULL)); } /*search mdio in dpmac arg*/ diff --git a/board/freescale/lx2160a/eth_lx2162aqds.c b/board/freescale/lx2160a/eth_lx2162aqds.c index b742c1ff52..3b04dea39c 100644 --- a/board/freescale/lx2160a/eth_lx2162aqds.c +++ b/board/freescale/lx2160a/eth_lx2162aqds.c @@ -437,7 +437,7 @@ static inline void do_dpmac_config(int dpmac, const char *arg_dpmacid, env_dpmac, phy_num + 1, arg_dpmacid); else wriop_set_phy_address(dpmac, phy_num, - simple_strtoul(ret, NULL, 16)); + hextoul(ret, NULL)); } /*search mdio in dpmac arg*/ diff --git a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c index 8273384f2d..cf4d9c11b8 100644 --- a/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c +++ b/board/freescale/p1_p2_rdb_pc/p1_p2_rdb_pc.c @@ -281,7 +281,7 @@ int board_early_init_r(void) /* If a VSC7385 microcode image is present, then upload it. */ tmp = env_get("vscfw_addr"); if (tmp) { - vscfw_addr = simple_strtoul(tmp, NULL, 16); + vscfw_addr = hextoul(tmp, NULL); printf("uploading VSC7385 microcode from %x\n", vscfw_addr); if (vsc7385_upload_firmware((void *)vscfw_addr, CONFIG_VSC7385_IMAGE_SIZE)) diff --git a/board/freescale/p2041rdb/cpld.c b/board/freescale/p2041rdb/cpld.c index b042fe3bcb..a1908b8a57 100644 --- a/board/freescale/p2041rdb/cpld.c +++ b/board/freescale/p2041rdb/cpld.c @@ -100,8 +100,8 @@ int cpld_cmd(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) else cpld_set_defbank(); } else if (strcmp(argv[1], "lane_mux") == 0) { - u32 lane = simple_strtoul(argv[2], NULL, 16); - u8 val = (u8)simple_strtoul(argv[3], NULL, 16); + u32 lane = hextoul(argv[2], NULL); + u8 val = (u8)hextoul(argv[3], NULL); u8 reg = CPLD_READ(serdes_mux); switch (lane) { diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c index c07eb627a2..4a15837473 100644 --- a/board/gateworks/gw_ventana/common.c +++ b/board/gateworks/gw_ventana/common.c @@ -1502,7 +1502,7 @@ void setup_board_gpio(int board, struct ventana_board_info *info) continue; s = hwconfig_subarg(arg, "padctrl", &len); if (s) { - ctrl = MUX_PAD_CTRL(simple_strtoul(s, NULL, 16) + ctrl = MUX_PAD_CTRL(hextoul(s, NULL) & 0x1ffff) | MUX_MODE_SION; } if (hwconfig_subarg_cmp(arg, "mode", "gpio")) { diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c index 468fb093b7..6a0382dee3 100644 --- a/board/gateworks/gw_ventana/gw_ventana.c +++ b/board/gateworks/gw_ventana/gw_ventana.c @@ -915,7 +915,7 @@ int fdt_fixup_sky2(void *blob, int np, struct pci_dev *dev) if (tmp) { for (j = 0; j < 6; j++) { mac_addr[j] = tmp ? - simple_strtoul(tmp, &end,16) : 0; + hextoul(tmp, &end) : 0; if (tmp) tmp = (*end) ? end+1 : end; } diff --git a/board/gdsys/common/osd.c b/board/gdsys/common/osd.c index 679f8f3019..dc548efbc7 100644 --- a/board/gdsys/common/osd.c +++ b/board/gdsys/common/osd.c @@ -284,9 +284,9 @@ static int osd_print(struct cmd_tbl *cmdtp, int flag, int argc, if (!(osd_screen_mask & (1 << screen))) continue; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); - color = simple_strtoul(argv[3], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); + color = hextoul(argv[3], NULL); text = argv[4]; charcount = strlen(text); len = (charcount > bufsize) ? bufsize : charcount; @@ -416,13 +416,13 @@ int osd_write(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) char *rp; u16 *wp = buffer; unsigned count = (argc > 4) ? - simple_strtoul(argv[4], NULL, 16) : 1; + hextoul(argv[4], NULL) : 1; if (!(osd_screen_mask & (1 << screen))) continue; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); rp = argv[3]; @@ -431,7 +431,7 @@ int osd_write(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) memcpy(substr, rp, 4); substr[4] = 0; - *wp = simple_strtoul(substr, NULL, 16); + *wp = hextoul(substr, NULL); rp += 4; wp++; @@ -463,8 +463,8 @@ int osd_size(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; } - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); if (!x || (x > 64) || (x > MAX_X_CHARS) || !y || (y > 32) || (y > MAX_Y_CHARS)) { diff --git a/board/gdsys/common/osd_cmd.c b/board/gdsys/common/osd_cmd.c index fe6249794e..6a9c0b4c24 100644 --- a/board/gdsys/common/osd_cmd.c +++ b/board/gdsys/common/osd_cmd.c @@ -30,10 +30,10 @@ static int do_osd_write(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 4 || (strlen(argv[3])) % 2) return CMD_RET_USAGE; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); hexstr = argv[3]; - count = (argc > 4) ? simple_strtoul(argv[4], NULL, 16) : 1; + count = (argc > 4) ? hextoul(argv[4], NULL) : 1; buflen = strlen(hexstr) / 2; @@ -80,9 +80,9 @@ static int do_osd_print(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 5) return CMD_RET_USAGE; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); - color = simple_strtoul(argv[3], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); + color = hextoul(argv[3], NULL); text = argv[4]; for (uclass_first_device(UCLASS_VIDEO_OSD, &dev); @@ -109,8 +109,8 @@ static int do_osd_size(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); for (uclass_first_device(UCLASS_VIDEO_OSD, &dev); dev; diff --git a/board/keymile/common/common.c b/board/keymile/common/common.c index 016806a2a6..ff07260194 100644 --- a/board/keymile/common/common.c +++ b/board/keymile/common/common.c @@ -278,7 +278,7 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc, * use simple_strtoul because we need &end and * we know we got non numeric char at the end */ - bid = simple_strtoul(rest, &endp, 16); + bid = hextoul(rest, &endp); /* BoardId and HWkey are separated with a "_" */ if (*endp == '_') { rest = endp + 1; @@ -286,7 +286,7 @@ static int do_checkboardidhwk(struct cmd_tbl *cmdtp, int flag, int argc, * use simple_strtoul because we need * &end */ - hwkey = simple_strtoul(rest, &endp, 16); + hwkey = hextoul(rest, &endp); rest = endp; while (*rest && !isxdigit(*rest)) rest++; diff --git a/board/kontron/sl28/cmds.c b/board/kontron/sl28/cmds.c index 046d3b4903..08a22b5d01 100644 --- a/board/kontron/sl28/cmds.c +++ b/board/kontron/sl28/cmds.c @@ -138,7 +138,7 @@ static int do_sl28_nvm(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; if (argc > 1) { - nvm = simple_strtoul(argv[1], &endp, 16); + nvm = hextoul(argv[1], &endp); if (*endp != '\0') { printf("ERROR: argument is not a valid number\n"); ret = -EINVAL; diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c index c34baca602..2b331b32df 100644 --- a/board/menlo/m53menlo/m53menlo.c +++ b/board/menlo/m53menlo/m53menlo.c @@ -347,7 +347,7 @@ int board_late_init(void) if (!s) return 0; - addr = simple_strtoul(s, NULL, 16); + addr = hextoul(s, NULL); dst = malloc(CONFIG_SYS_VIDEO_LOGO_MAX_SIZE); if (!dst) return -ENOMEM; diff --git a/board/renesas/stout/cpld.c b/board/renesas/stout/cpld.c index ac8048c81c..b7c75f5aa6 100644 --- a/board/renesas/stout/cpld.c +++ b/board/renesas/stout/cpld.c @@ -133,7 +133,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); if (!(addr == CPLD_ADDR_VERSION || addr == CPLD_ADDR_MODE || addr == CPLD_ADDR_MUX || addr == CPLD_ADDR_HDMI || addr == CPLD_ADDR_DIPSW || addr == CPLD_ADDR_RESET)) { @@ -144,7 +144,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc == 3 && strcmp(argv[1], "read") == 0) { printf("0x%x\n", cpld_read(addr)); } else if (argc == 4 && strcmp(argv[1], "write") == 0) { - val = simple_strtoul(argv[3], NULL, 16); + val = hextoul(argv[3], NULL); if (addr == CPLD_ADDR_MUX) { /* never mask SCIFA0 console */ val &= ~MUX_MSK_SCIFA0_USB; diff --git a/board/renesas/ulcb/cpld.c b/board/renesas/ulcb/cpld.c index ebb2d6f742..0c060a5323 100644 --- a/board/renesas/ulcb/cpld.c +++ b/board/renesas/ulcb/cpld.c @@ -111,7 +111,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); if (!(addr == CPLD_ADDR_VERSION || addr == CPLD_ADDR_MODE || addr == CPLD_ADDR_MUX || addr == CPLD_ADDR_DIPSW6 || addr == CPLD_ADDR_RESET)) { @@ -122,7 +122,7 @@ static int do_cpld(struct cmd_tbl *cmdtp, int flag, int argc, if (argc == 3 && strcmp(argv[1], "read") == 0) { printf("0x%x\n", cpld_read(dev, addr)); } else if (argc == 4 && strcmp(argv[1], "write") == 0) { - val = simple_strtoul(argv[3], NULL, 16); + val = hextoul(argv[3], NULL); cpld_write(dev, addr, val); } diff --git a/board/siemens/common/factoryset.c b/board/siemens/common/factoryset.c index 2e3ae1a54d..fba678b426 100644 --- a/board/siemens/common/factoryset.c +++ b/board/siemens/common/factoryset.c @@ -243,7 +243,7 @@ int factoryset_read_eeprom(int i2c_addr) buf, MAX_STRING_LENGTH); cp1 = buf; for (i = 0; i < 6; i++) { - factory_dat.mac[i] = simple_strtoul((char *)cp1, NULL, 16); + factory_dat.mac[i] = hextoul((char *)cp1, NULL); cp1 += 3; } @@ -254,8 +254,7 @@ int factoryset_read_eeprom(int i2c_addr) if (ret > 0) { cp1 = buf; for (i = 0; i < 6; i++) { - factory_dat.mac_wlan[i] = simple_strtoul((char *)cp1, - NULL, 16); + factory_dat.mac_wlan[i] = hextoul((char *)cp1, NULL); cp1 += 3; } } @@ -266,15 +265,13 @@ int factoryset_read_eeprom(int i2c_addr) if (0 <= get_factory_record_val(cp, size, (uchar *)"USBD1", (uchar *)"vid", buf, MAX_STRING_LENGTH)) { - factory_dat.usb_vendor_id = simple_strtoul((char *)buf, - NULL, 16); + factory_dat.usb_vendor_id = hextoul((char *)buf, NULL); } if (0 <= get_factory_record_val(cp, size, (uchar *)"USBD1", (uchar *)"pid", buf, MAX_STRING_LENGTH)) { - factory_dat.usb_product_id = simple_strtoul((char *)buf, - NULL, 16); + factory_dat.usb_product_id = hextoul((char *)buf, NULL); } printf("DFU USB: VID = 0x%4x, PID = 0x%4x\n", factory_dat.usb_vendor_id, factory_dat.usb_product_id); @@ -294,8 +291,7 @@ int factoryset_read_eeprom(int i2c_addr) if (0 <= get_factory_record_val(cp, size, (uchar *)"DEV", (uchar *)"ver", buf, MAX_STRING_LENGTH)) { - factory_dat.version = simple_strtoul((char *)buf, - NULL, 16); + factory_dat.version = hextoul((char *)buf, NULL); debug("version number: %d\n", factory_dat.version); } /* Get ASN from factory set if available */ diff --git a/board/sifive/unmatched/hifive-platform-i2c-eeprom.c b/board/sifive/unmatched/hifive-platform-i2c-eeprom.c index ad2f3155d0..b230a71b3a 100644 --- a/board/sifive/unmatched/hifive-platform-i2c-eeprom.c +++ b/board/sifive/unmatched/hifive-platform-i2c-eeprom.c @@ -281,7 +281,7 @@ static void set_mac_address(char *string) } for (i = 0; *string && (i < MAC_ADDR_BYTES); i++) { - e.mac_addr[i] = simple_strtoul(string, &string, 16); + e.mac_addr[i] = hextoul(string, &string); if (*string == ':') string++; } diff --git a/board/synopsys/hsdk/env-lib.c b/board/synopsys/hsdk/env-lib.c index 235f29565f..e2258385ce 100644 --- a/board/synopsys/hsdk/env-lib.c +++ b/board/synopsys/hsdk/env-lib.c @@ -252,7 +252,7 @@ static int arg_read_set(const struct env_map_common *map, u32 i, int argc, char *endp = argv[1]; if (map[i].type == ENV_HEX) - map[i].val->val = simple_strtoul(argv[1], &endp, 16); + map[i].val->val = hextoul(argv[1], &endp); else map[i].val->val = simple_strtoul(argv[1], &endp, 10); diff --git a/board/ti/am64x/evm.c b/board/ti/am64x/evm.c index cdbb9a87bc..21c58c76d6 100644 --- a/board/ti/am64x/evm.c +++ b/board/ti/am64x/evm.c @@ -120,7 +120,7 @@ static void setup_serial(void) if (env_get("serial#")) return; - board_serial = simple_strtoul(ep->serial, &endp, 16); + board_serial = hextoul(ep->serial, &endp); if (*endp != '\0') { pr_err("Error: Can't set serial# to %s\n", ep->serial); return; diff --git a/board/ti/j721e/evm.c b/board/ti/j721e/evm.c index 580f13c3ab..077d83420c 100644 --- a/board/ti/j721e/evm.c +++ b/board/ti/j721e/evm.c @@ -201,7 +201,7 @@ static void setup_serial(void) if (env_get("serial#")) return; - board_serial = simple_strtoul(ep->serial, &endp, 16); + board_serial = hextoul(ep->serial, &endp); if (*endp != '\0') { pr_err("Error: Can't set serial# to %s\n", ep->serial); return; diff --git a/board/varisys/common/sys_eeprom.c b/board/varisys/common/sys_eeprom.c index 251d9fd73e..1bf543619b 100644 --- a/board/varisys/common/sys_eeprom.c +++ b/board/varisys/common/sys_eeprom.c @@ -299,7 +299,7 @@ static void set_mac_address(unsigned int index, const char *string) } for (i = 0; *p && (i < 6); i++) { - e.mac[index][i] = simple_strtoul(p, &p, 16); + e.mac[index][i] = hextoul(p, &p); if (*p == ':') p++; } @@ -364,7 +364,7 @@ int do_mac(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) set_date(argv[2]); break; case 'p': /* MAC table size */ - e.mac_count = simple_strtoul(argv[2], NULL, 16); + e.mac_count = hextoul(argv[2], NULL); update_crc(); break; case '0' ... '9': /* "mac 0" through "mac 22" */ diff --git a/board/xilinx/common/fru.c b/board/xilinx/common/fru.c index ccf48723ff..f6ca46c3ce 100644 --- a/board/xilinx/common/fru.c +++ b/board/xilinx/common/fru.c @@ -19,7 +19,7 @@ static int do_fru_capture(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], &endp, 16); + addr = hextoul(argv[2], &endp); if (*argv[1] == 0 || *endp != 0) return -1; @@ -41,7 +41,7 @@ static int do_fru_generate(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); return fru_generate(addr, argv[3], argv[4], argv[5], argv[6], argv[7]); } diff --git a/board/xilinx/versal/cmds.c b/board/xilinx/versal/cmds.c index f5735d0c62..04d4cdb141 100644 --- a/board/xilinx/versal/cmds.c +++ b/board/xilinx/versal/cmds.c @@ -32,7 +32,7 @@ static int do_versal_load_pdi(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; } - len = simple_strtoul(argv[3], NULL, 16); + len = hextoul(argv[3], NULL); if (!len) { debug("pdi_load: zero size\n"); return CMD_RET_USAGE; diff --git a/board/xilinx/zynq/cmds.c b/board/xilinx/zynq/cmds.c index 6c697caa62..024fac65f3 100644 --- a/board/xilinx/zynq/cmds.c +++ b/board/xilinx/zynq/cmds.c @@ -422,7 +422,7 @@ static int do_zynq_rsa(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_FAILURE; - src_ptr = simple_strtoul(argv[2], &endp, 16); + src_ptr = hextoul(argv[2], &endp); if (*argv[2] == 0 || *endp != 0) return CMD_RET_USAGE; @@ -453,26 +453,26 @@ static int zynq_decrypt_image(struct cmd_tbl *cmdtp, int flag, int argc, else return CMD_RET_USAGE; - srcaddr = simple_strtoul(argv[3], &endp, 16); + srcaddr = hextoul(argv[3], &endp); if (*argv[3] == 0 || *endp != 0) return CMD_RET_USAGE; - srclen = simple_strtoul(argv[4], &endp, 16); + srclen = hextoul(argv[4], &endp); if (*argv[4] == 0 || *endp != 0) return CMD_RET_USAGE; dstaddr = 0xFFFFFFFF; dstlen = srclen; } else { - srcaddr = simple_strtoul(argv[2], &endp, 16); + srcaddr = hextoul(argv[2], &endp); if (*argv[2] == 0 || *endp != 0) return CMD_RET_USAGE; - srclen = simple_strtoul(argv[3], &endp, 16); + srclen = hextoul(argv[3], &endp); if (*argv[3] == 0 || *endp != 0) return CMD_RET_USAGE; - dstaddr = simple_strtoul(argv[4], &endp, 16); + dstaddr = hextoul(argv[4], &endp); if (*argv[4] == 0 || *endp != 0) return CMD_RET_USAGE; - dstlen = simple_strtoul(argv[5], &endp, 16); + dstlen = hextoul(argv[5], &endp); if (*argv[5] == 0 || *endp != 0) return CMD_RET_USAGE; } diff --git a/board/xilinx/zynqmp/cmds.c b/board/xilinx/zynqmp/cmds.c index cf63ad97fa..b15c0f599b 100644 --- a/board/xilinx/zynqmp/cmds.c +++ b/board/xilinx/zynqmp/cmds.c @@ -40,7 +40,7 @@ static int do_zynqmp_verify_secure(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; src_addr = simple_strtoull(argv[2], NULL, 16); - len = simple_strtoul(argv[3], NULL, 16); + len = hextoul(argv[3], NULL); if (argc == 5) key_ptr = (uint8_t *)(uintptr_t)simple_strtoull(argv[4], @@ -86,7 +86,7 @@ static int do_zynqmp_mmio_read(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); ret = zynqmp_mmio_read(addr, &read_val); if (!ret) @@ -107,9 +107,9 @@ static int do_zynqmp_mmio_write(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); - mask = simple_strtoul(argv[3], NULL, 16); - val = simple_strtoul(argv[4], NULL, 16); + addr = hextoul(argv[2], NULL); + mask = hextoul(argv[3], NULL); + val = hextoul(argv[4], NULL); ret = zynqmp_mmio_write(addr, mask, val); if (ret != 0) @@ -135,12 +135,12 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs - 1) return CMD_RET_USAGE; - aes->srcaddr = simple_strtoul(argv[2], NULL, 16); - aes->ivaddr = simple_strtoul(argv[3], NULL, 16); - aes->len = simple_strtoul(argv[4], NULL, 16); - aes->op = simple_strtoul(argv[5], NULL, 16); - aes->keysrc = simple_strtoul(argv[6], NULL, 16); - aes->dstaddr = simple_strtoul(argv[7], NULL, 16); + aes->srcaddr = hextoul(argv[2], NULL); + aes->ivaddr = hextoul(argv[3], NULL); + aes->len = hextoul(argv[4], NULL); + aes->op = hextoul(argv[5], NULL); + aes->keysrc = hextoul(argv[6], NULL); + aes->dstaddr = hextoul(argv[7], NULL); flush_dcache_range((ulong)aes, (ulong)(aes) + roundup(sizeof(struct aes), ARCH_DMA_MINALIGN)); @@ -161,7 +161,7 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < cmdtp->maxargs) return CMD_RET_USAGE; - aes->keyaddr = simple_strtoul(argv[8], NULL, 16); + aes->keyaddr = hextoul(argv[8], NULL); if (aes->keyaddr) flush_dcache_range(aes->keyaddr, (aes->keyaddr + @@ -187,7 +187,7 @@ static int do_zynqmp_tcm_init(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - mode = simple_strtoul(argv[2], NULL, 16); + mode = hextoul(argv[2], NULL); if (mode != TCM_LOCK && mode != TCM_SPLIT) { printf("Mode should be either 0(lock)/1(split)\n"); return CMD_RET_FAILURE; @@ -209,8 +209,8 @@ static int do_zynqmp_pmufw(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - addr = simple_strtoul(argv[2], NULL, 16); - size = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[2], NULL); + size = hextoul(argv[3], NULL); flush_dcache_range((ulong)addr, (ulong)(addr + size)); zynqmp_pmufw_load_config_object((const void *)(uintptr_t)addr, @@ -236,16 +236,16 @@ static int do_zynqmp_rsa(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - srcaddr = simple_strtoul(argv[2], NULL, 16); - srclen = simple_strtoul(argv[3], NULL, 16); + srcaddr = hextoul(argv[2], NULL); + srclen = hextoul(argv[3], NULL); if (srclen != RSA_KEY_SIZE) { puts("ERR: srclen should be equal to 0x200(512 bytes)\n"); return CMD_RET_USAGE; } - mod = simple_strtoul(argv[4], NULL, 16); - exp = simple_strtoul(argv[5], NULL, 16); - rsaop = simple_strtoul(argv[6], NULL, 16); + mod = hextoul(argv[4], NULL); + exp = hextoul(argv[5], NULL); + rsaop = hextoul(argv[6], NULL); if (!(rsaop == 0 || rsaop == 1)) { puts("ERR: rsaop should be either 0 or 1\n"); return CMD_RET_USAGE; @@ -299,11 +299,11 @@ static int do_zynqmp_sha3(struct cmd_tbl *cmdtp, int flag, return CMD_RET_FAILURE; } - srcaddr = simple_strtoul(argv[2], NULL, 16); - srclen = simple_strtoul(argv[3], NULL, 16); + srcaddr = hextoul(argv[2], NULL); + srclen = hextoul(argv[3], NULL); if (argc == 5) { - hashaddr = simple_strtoul(argv[4], NULL, 16); + hashaddr = hextoul(argv[4], NULL); flush_dcache_range(hashaddr, hashaddr + roundup(ZYNQMP_SHA3_SIZE, ARCH_DMA_MINALIGN)); diff --git a/cmd/abootimg.c b/cmd/abootimg.c index 40e8978f15..f48a9dcb02 100644 --- a/cmd/abootimg.c +++ b/cmd/abootimg.c @@ -161,7 +161,7 @@ static int do_abootimg_addr(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != 2) return CMD_RET_USAGE; - img_addr = simple_strtoul(argv[1], &endp, 16); + img_addr = hextoul(argv[1], &endp); if (*endp != '\0') { printf("Error: Wrong image address\n"); return CMD_RET_FAILURE; diff --git a/cmd/adtimg.c b/cmd/adtimg.c index aa943007f3..f4b5cbf35b 100644 --- a/cmd/adtimg.c +++ b/cmd/adtimg.c @@ -27,7 +27,7 @@ static int do_adtimg_addr(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != 2) return CMD_RET_USAGE; - hdr_addr = simple_strtoul(argv[1], &endp, 16); + hdr_addr = hextoul(argv[1], &endp); if (*endp != '\0') { printf("Error: Wrong image address '%s'\n", argv[1]); return CMD_RET_FAILURE; diff --git a/cmd/aes.c b/cmd/aes.c index 4c0dad9932..1936518824 100644 --- a/cmd/aes.c +++ b/cmd/aes.c @@ -55,11 +55,11 @@ static int do_aes(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) else return CMD_RET_USAGE; - key_addr = simple_strtoul(argv[2], NULL, 16); - iv_addr = simple_strtoul(argv[3], NULL, 16); - src_addr = simple_strtoul(argv[4], NULL, 16); - dst_addr = simple_strtoul(argv[5], NULL, 16); - len = simple_strtoul(argv[6], NULL, 16); + key_addr = hextoul(argv[2], NULL); + iv_addr = hextoul(argv[3], NULL); + src_addr = hextoul(argv[4], NULL); + dst_addr = hextoul(argv[5], NULL); + len = hextoul(argv[6], NULL); key_ptr = (uint8_t *)map_sysmem(key_addr, key_len); iv_ptr = (uint8_t *)map_sysmem(iv_addr, 128 / 8); diff --git a/cmd/armflash.c b/cmd/armflash.c index 5e7315eb7c..d1466f73aa 100644 --- a/cmd/armflash.c +++ b/cmd/armflash.c @@ -280,7 +280,7 @@ static int do_afs(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } else if (argc == 4 && !strcmp(argv[1], "load")) { ulong load_addr; - load_addr = simple_strtoul(argv[3], NULL, 16); + load_addr = hextoul(argv[3], NULL); ret = load_image(argv[2], load_addr); } else { return CMD_RET_USAGE; diff --git a/cmd/avb.c b/cmd/avb.c index 88172a9ee6..02b4b1f022 100644 --- a/cmd/avb.c +++ b/cmd/avb.c @@ -22,7 +22,7 @@ int do_avb_init(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc != 2) return CMD_RET_USAGE; - mmc_dev = simple_strtoul(argv[1], NULL, 16); + mmc_dev = hextoul(argv[1], NULL); if (avb_ops) avb_ops_free(avb_ops); @@ -53,9 +53,9 @@ int do_avb_read_part(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; part = argv[1]; - offset = simple_strtoul(argv[2], NULL, 16); - bytes = simple_strtoul(argv[3], NULL, 16); - buffer = (void *)simple_strtoul(argv[4], NULL, 16); + offset = hextoul(argv[2], NULL); + bytes = hextoul(argv[3], NULL); + buffer = (void *)hextoul(argv[4], NULL); if (avb_ops->read_from_partition(avb_ops, part, offset, bytes, buffer, &bytes_read) == @@ -86,8 +86,8 @@ int do_avb_read_part_hex(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; part = argv[1]; - offset = simple_strtoul(argv[2], NULL, 16); - bytes = simple_strtoul(argv[3], NULL, 16); + offset = hextoul(argv[2], NULL); + bytes = hextoul(argv[3], NULL); buffer = malloc(bytes); if (!buffer) { @@ -132,9 +132,9 @@ int do_avb_write_part(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; part = argv[1]; - offset = simple_strtoul(argv[2], NULL, 16); - bytes = simple_strtoul(argv[3], NULL, 16); - buffer = (void *)simple_strtoul(argv[4], NULL, 16); + offset = hextoul(argv[2], NULL); + bytes = hextoul(argv[3], NULL); + buffer = (void *)hextoul(argv[4], NULL); if (avb_ops->write_to_partition(avb_ops, part, offset, bytes, buffer) == AVB_IO_RESULT_OK) { @@ -161,7 +161,7 @@ int do_avb_read_rb(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != 2) return CMD_RET_USAGE; - index = (size_t)simple_strtoul(argv[1], NULL, 16); + index = (size_t)hextoul(argv[1], NULL); if (avb_ops->read_rollback_index(avb_ops, index, &rb_idx) == AVB_IO_RESULT_OK) { @@ -188,8 +188,8 @@ int do_avb_write_rb(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != 3) return CMD_RET_USAGE; - index = (size_t)simple_strtoul(argv[1], NULL, 16); - rb_idx = simple_strtoul(argv[2], NULL, 16); + index = (size_t)hextoul(argv[1], NULL); + rb_idx = hextoul(argv[2], NULL); if (avb_ops->write_rollback_index(avb_ops, index, rb_idx) == AVB_IO_RESULT_OK) diff --git a/cmd/axi.c b/cmd/axi.c index c72197ee82..c676819b81 100644 --- a/cmd/axi.c +++ b/cmd/axi.c @@ -198,14 +198,14 @@ static int do_axi_md(struct cmd_tbl *cmdtp, int flag, int argc, /* * Address is specified since argc >= 3 */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); /* * If there's another parameter, it is the length to display; * length is the number of objects, not number of bytes */ if (argc > 3) - length = simple_strtoul(argv[3], NULL, 16); + length = hextoul(argv[3], NULL); } switch (size) { @@ -291,14 +291,14 @@ static int do_axi_mw(struct cmd_tbl *cmdtp, int flag, int argc, }; /* Address is specified since argc > 4 */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); /* Get the value to write */ - writeval = simple_strtoul(argv[3], NULL, 16); + writeval = hextoul(argv[3], NULL); /* Count ? */ if (argc == 5) - count = simple_strtoul(argv[4], NULL, 16); + count = hextoul(argv[4], NULL); else count = 1; diff --git a/cmd/bedbug.c b/cmd/bedbug.c index bef617b6a4..549c9056dd 100644 --- a/cmd/bedbug.c +++ b/cmd/bedbug.c @@ -75,11 +75,11 @@ int do_bedbug_dis(struct cmd_tbl *cmdtp, int flag, int argc, if ((flag & CMD_FLAG_REPEAT) == 0) { /* New command */ - addr = simple_strtoul (argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); /* If an extra param is given then it is the length */ if (argc > 2) - len = simple_strtoul (argv[2], NULL, 16); + len = hextoul(argv[2], NULL); } /* Run the disassembler */ @@ -114,7 +114,7 @@ int do_bedbug_asm(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; printf ("\nEnter '.' when done\n"); - mem_addr = simple_strtoul (argv[1], NULL, 16); + mem_addr = hextoul(argv[1], NULL); while (1) { putc ('\n'); diff --git a/cmd/binop.c b/cmd/binop.c index c85cb51568..bb5adc3e05 100644 --- a/cmd/binop.c +++ b/cmd/binop.c @@ -58,7 +58,7 @@ void write_to_mem(char *varname, u8 *result, ulong len) ulong addr; u8 *buf; - addr = simple_strtoul(varname, NULL, 16); + addr = hextoul(varname, NULL); buf = map_sysmem(addr, len); memcpy(buf, result, len); unmap_sysmem(buf); @@ -95,12 +95,12 @@ static int do_binop(struct cmd_tbl *cmdtp, int flag, int argc, src2 = malloc(len); if (*src1arg == '*') - read_from_mem(simple_strtoul(src1arg + 1, NULL, 16), src1, len); + read_from_mem(hextoul(src1arg + 1, NULL), src1, len); else read_from_env_var(src1arg, src1); if (*src2arg == '*') - read_from_mem(simple_strtoul(src2arg + 1, NULL, 16), src2, len); + read_from_mem(hextoul(src2arg + 1, NULL), src2, len); else read_from_env_var(src2arg, src2); diff --git a/cmd/blk_common.c b/cmd/blk_common.c index 87f94b5abb..0898798dec 100644 --- a/cmd/blk_common.c +++ b/cmd/blk_common.c @@ -63,9 +63,9 @@ int blk_common_cmd(int argc, char *const argv[], enum if_type if_type, default: /* at least 4 args */ if (strcmp(argv[1], "read") == 0) { - ulong addr = simple_strtoul(argv[2], NULL, 16); - lbaint_t blk = simple_strtoul(argv[3], NULL, 16); - ulong cnt = simple_strtoul(argv[4], NULL, 16); + ulong addr = hextoul(argv[2], NULL); + lbaint_t blk = hextoul(argv[3], NULL); + ulong cnt = hextoul(argv[4], NULL); ulong n; printf("\n%s read: device %d block # "LBAFU", count %lu ... ", @@ -78,9 +78,9 @@ int blk_common_cmd(int argc, char *const argv[], enum if_type if_type, n == cnt ? "OK" : "ERROR"); return n == cnt ? 0 : 1; } else if (strcmp(argv[1], "write") == 0) { - ulong addr = simple_strtoul(argv[2], NULL, 16); - lbaint_t blk = simple_strtoul(argv[3], NULL, 16); - ulong cnt = simple_strtoul(argv[4], NULL, 16); + ulong addr = hextoul(argv[2], NULL); + lbaint_t blk = hextoul(argv[3], NULL); + ulong cnt = hextoul(argv[4], NULL); ulong n; printf("\n%s write: device %d block # "LBAFU", count %lu ... ", diff --git a/cmd/blob.c b/cmd/blob.c index 887219cc07..e2efae7a11 100644 --- a/cmd/blob.c +++ b/cmd/blob.c @@ -70,10 +70,10 @@ static int do_blob(struct cmd_tbl *cmdtp, int flag, int argc, else return CMD_RET_USAGE; - src_addr = simple_strtoul(argv[2], NULL, 16); - dst_addr = simple_strtoul(argv[3], NULL, 16); - len = simple_strtoul(argv[4], NULL, 16); - key_addr = simple_strtoul(argv[5], NULL, 16); + src_addr = hextoul(argv[2], NULL); + dst_addr = hextoul(argv[3], NULL); + len = hextoul(argv[4], NULL); + key_addr = hextoul(argv[5], NULL); km_ptr = (uint8_t *)(uintptr_t)key_addr; src_ptr = (uint8_t *)(uintptr_t)src_addr; diff --git a/cmd/bmp.c b/cmd/bmp.c index 6040fa5d95..f4fe97d89d 100644 --- a/cmd/bmp.c +++ b/cmd/bmp.c @@ -102,7 +102,7 @@ static int do_bmp_info(struct cmd_tbl *cmdtp, int flag, int argc, addr = image_load_addr; break; case 2: /* use argument */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); break; default: return CMD_RET_USAGE; @@ -124,10 +124,10 @@ static int do_bmp_display(struct cmd_tbl *cmdtp, int flag, int argc, addr = image_load_addr; break; case 2: /* use argument */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); break; case 4: - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); if (!strcmp(argv[2], "m")) x = BMP_ALIGN_CENTER; else diff --git a/cmd/boot.c b/cmd/boot.c index b84c0ed89e..fab294e622 100644 --- a/cmd/boot.c +++ b/cmd/boot.c @@ -29,7 +29,7 @@ static int do_go(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc < 2) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); printf ("## Starting application at 0x%08lX ...\n", addr); diff --git a/cmd/bootefi.c b/cmd/bootefi.c index cba81ffe75..83eab0bd7f 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -281,7 +281,7 @@ efi_status_t efi_install_fdt(void *fdt) return EFI_NOT_FOUND; } } - fdt_addr = simple_strtoul(fdt_opt, NULL, 16); + fdt_addr = hextoul(fdt_opt, NULL); if (!fdt_addr) { log_err("ERROR: invalid $fdt_addr or $fdtcontroladdr\n"); return EFI_LOAD_ERROR; @@ -628,7 +628,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc, if (argc > 2) { uintptr_t fdt_addr; - fdt_addr = simple_strtoul(argv[2], NULL, 16); + fdt_addr = hextoul(argv[2], NULL); fdt = map_sysmem(fdt_addr, 0); } else { fdt = EFI_FDT_USE_INTERNAL; diff --git a/cmd/booti.c b/cmd/booti.c index 3df70ea9ca..397d4b8323 100644 --- a/cmd/booti.c +++ b/cmd/booti.c @@ -43,7 +43,7 @@ static int booti_start(struct cmd_tbl *cmdtp, int flag, int argc, debug("* kernel: default image load address = 0x%08lx\n", image_load_addr); } else { - ld = simple_strtoul(argv[0], NULL, 16); + ld = hextoul(argv[0], NULL); debug("* kernel: cmdline image address = 0x%08lx\n", ld); } diff --git a/cmd/bootm.c b/cmd/bootm.c index 81c6b93978..92468d09a1 100644 --- a/cmd/bootm.c +++ b/cmd/bootm.c @@ -112,7 +112,7 @@ int do_bootm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc > 0) { char *endp; - simple_strtoul(argv[0], &endp, 16); + hextoul(argv[0], &endp); /* endp pointing to NULL means that argv[0] was just a * valid number, pass it along to the normal bootm processing * @@ -240,7 +240,7 @@ static int do_iminfo(struct cmd_tbl *cmdtp, int flag, int argc, } for (arg = 1; arg < argc; ++arg) { - addr = simple_strtoul(argv[arg], NULL, 16); + addr = hextoul(argv[arg], NULL); if (image_info(addr) != 0) rcode = 1; } diff --git a/cmd/bootstage.c b/cmd/bootstage.c index 0e623f216b..77a4bc66ff 100644 --- a/cmd/bootstage.c +++ b/cmd/bootstage.c @@ -24,12 +24,12 @@ static int get_base_size(int argc, char *const argv[], ulong *basep, *sizep = CONFIG_BOOTSTAGE_STASH_SIZE; if (argc < 2) return 0; - *basep = simple_strtoul(argv[1], &endp, 16); + *basep = hextoul(argv[1], &endp); if (*argv[1] == 0 || *endp != 0) return -1; if (argc == 2) return 0; - *sizep = simple_strtoul(argv[2], &endp, 16); + *sizep = hextoul(argv[2], &endp); if (*argv[2] == 0 || *endp != 0) return -1; diff --git a/cmd/bootz.c b/cmd/bootz.c index 7556cd2752..4f024bde5f 100644 --- a/cmd/bootz.c +++ b/cmd/bootz.c @@ -39,7 +39,7 @@ static int bootz_start(struct cmd_tbl *cmdtp, int flag, int argc, debug("* kernel: default image load address = 0x%08lx\n", image_load_addr); } else { - images->ep = simple_strtoul(argv[0], NULL, 16); + images->ep = hextoul(argv[0], NULL); debug("* kernel: cmdline image address = 0x%08lx\n", images->ep); } diff --git a/cmd/broadcom/nitro_image_load.c b/cmd/broadcom/nitro_image_load.c index 4a36b300c4..93b5cb4ceb 100644 --- a/cmd/broadcom/nitro_image_load.c +++ b/cmd/broadcom/nitro_image_load.c @@ -53,13 +53,13 @@ static int do_spi_images_addr(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; /* convert command parameter to fastboot address (base 16), i.e. hex */ - images_load_addr = simple_strtoul(argv[1], NULL, 16); + images_load_addr = hextoul(argv[1], NULL); if (!images_load_addr) { pr_err("Invalid load address\n"); return CMD_RET_USAGE; } - spi_load_addr = simple_strtoul(argv[2], NULL, 16); + spi_load_addr = hextoul(argv[2], NULL); if (!spi_load_addr) { pr_err("Invalid spi load address\n"); return CMD_RET_USAGE; diff --git a/cmd/cbfs.c b/cmd/cbfs.c index 10c2c929c3..8a61f2c26f 100644 --- a/cmd/cbfs.c +++ b/cmd/cbfs.c @@ -22,7 +22,7 @@ static int do_cbfs_init(struct cmd_tbl *cmdtp, int flag, int argc, return 0; } if (argc == 2) { - end_of_rom = simple_strtoul(argv[1], &ep, 16); + end_of_rom = hextoul(argv[1], &ep); if (*ep) { puts("\n** Invalid end of ROM **\n"); return 1; @@ -58,9 +58,9 @@ static int do_cbfs_fsload(struct cmd_tbl *cmdtp, int flag, int argc, } /* parse offset and count */ - offset = simple_strtoul(argv[1], NULL, 16); + offset = hextoul(argv[1], NULL); if (argc == 4) - count = simple_strtoul(argv[3], NULL, 16); + count = hextoul(argv[3], NULL); else count = 0; diff --git a/cmd/cramfs.c b/cmd/cramfs.c index 1aeb56702c..44c0818d5d 100644 --- a/cmd/cramfs.c +++ b/cmd/cramfs.c @@ -107,7 +107,7 @@ int do_cramfs_load(struct cmd_tbl *cmdtp, int flag, int argc, struct mtdids id; ulong addr; - addr = simple_strtoul(env_get("cramfsaddr"), NULL, 16); + addr = hextoul(env_get("cramfsaddr"), NULL); /* hack! */ /* cramfs_* only supports NOR flash chips */ @@ -172,7 +172,7 @@ int do_cramfs_ls(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) struct mtdids id; ulong addr; - addr = simple_strtoul(env_get("cramfsaddr"), NULL, 16); + addr = hextoul(env_get("cramfsaddr"), NULL); /* hack! */ /* cramfs_* only supports NOR flash chips */ diff --git a/cmd/cros_ec.c b/cmd/cros_ec.c index eb5053d642..abda5d6cd2 100644 --- a/cmd/cros_ec.c +++ b/cmd/cros_ec.c @@ -65,11 +65,11 @@ static int do_read_write(struct udevice *dev, int is_write, int argc, return 1; if (argc < 4) return 1; - addr = simple_strtoul(argv[3], &endp, 16); + addr = hextoul(argv[3], &endp); if (*argv[3] == 0 || *endp != 0) return 1; if (argc > 4) { - size = simple_strtoul(argv[4], &endp, 16); + size = hextoul(argv[4], &endp); if (*argv[4] == 0 || *endp != 0) return 1; } diff --git a/cmd/demo.c b/cmd/demo.c index 78a55f72b6..a2957f770d 100644 --- a/cmd/demo.c +++ b/cmd/demo.c @@ -48,7 +48,7 @@ static int do_demo_light(struct cmd_tbl *cmdtp, int flag, int argc, int ret; if (argc) { - light = simple_strtoul(argv[0], NULL, 16); + light = hextoul(argv[0], NULL); ret = demo_set_light(demo_dev, light); } else { ret = demo_get_light(demo_dev); diff --git a/cmd/disk.c b/cmd/disk.c index 2726115e85..cb3b990ba3 100644 --- a/cmd/disk.c +++ b/cmd/disk.c @@ -36,7 +36,7 @@ int common_diskboot(struct cmd_tbl *cmdtp, const char *intf, int argc, bootstage_mark(BOOTSTAGE_ID_IDE_ADDR); if (argc > 1) - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); bootstage_mark(BOOTSTAGE_ID_IDE_BOOT_DEVICE); diff --git a/cmd/efidebug.c b/cmd/efidebug.c index 8211a589ac..67ab06aefc 100644 --- a/cmd/efidebug.c +++ b/cmd/efidebug.c @@ -61,7 +61,7 @@ static int do_efi_capsule_update(struct cmd_tbl *cmdtp, int flag, argv++; } - capsule = (typeof(capsule))simple_strtoul(argv[1], &endp, 16); + capsule = (typeof(capsule))hextoul(argv[1], &endp); if (endp == argv[1]) { printf("Invalid address: %s", argv[1]); return CMD_RET_FAILURE; @@ -117,7 +117,7 @@ static int do_efi_capsule_show(struct cmd_tbl *cmdtp, int flag, if (argc != 2) return CMD_RET_USAGE; - capsule = (typeof(capsule))simple_strtoul(argv[1], &endp, 16); + capsule = (typeof(capsule))hextoul(argv[1], &endp); if (endp == argv[1]) { printf("Invalid address: %s", argv[1]); return CMD_RET_FAILURE; @@ -256,7 +256,7 @@ static int do_efi_capsule_res(struct cmd_tbl *cmdtp, int flag, argc--; argv++; - capsule_id = simple_strtoul(argv[0], &endp, 16); + capsule_id = hextoul(argv[0], &endp); if (capsule_id < 0 || capsule_id > 0xffff) return CMD_RET_USAGE; @@ -983,7 +983,7 @@ static int do_efi_boot_add(struct cmd_tbl *cmdtp, int flag, r = CMD_RET_USAGE; goto out; } - id = (int)simple_strtoul(argv[1], &endp, 16); + id = (int)hextoul(argv[1], &endp); if (*endp != '\0' || id > 0xffff) return CMD_RET_USAGE; @@ -1113,7 +1113,7 @@ static int do_efi_boot_rm(struct cmd_tbl *cmdtp, int flag, guid = efi_global_variable_guid; for (i = 1; i < argc; i++, argv++) { - id = (int)simple_strtoul(argv[1], &endp, 16); + id = (int)hextoul(argv[1], &endp); if (*endp != '\0' || id > 0xffff) return CMD_RET_FAILURE; @@ -1410,7 +1410,7 @@ static int do_efi_boot_next(struct cmd_tbl *cmdtp, int flag, if (argc != 2) return CMD_RET_USAGE; - bootnext = (u16)simple_strtoul(argv[1], &endp, 16); + bootnext = (u16)hextoul(argv[1], &endp); if (*endp) { printf("invalid value: %s\n", argv[1]); r = CMD_RET_FAILURE; @@ -1469,7 +1469,7 @@ static int do_efi_boot_order(struct cmd_tbl *cmdtp, int flag, return CMD_RET_FAILURE; for (i = 0; i < argc; i++) { - id = (int)simple_strtoul(argv[i], &endp, 16); + id = (int)hextoul(argv[i], &endp); if (*endp != '\0' || id > 0xffff) { printf("invalid value: %s\n", argv[i]); r = CMD_RET_FAILURE; diff --git a/cmd/elf.c b/cmd/elf.c index d44b95d903..d75b21461c 100644 --- a/cmd/elf.c +++ b/cmd/elf.c @@ -115,7 +115,7 @@ int do_bootvx(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc < 2) addr = image_load_addr; else - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); #if defined(CONFIG_CMD_NET) /* @@ -200,7 +200,7 @@ int do_bootvx(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } if (!bootaddr) - bootaddr = simple_strtoul(tmp, NULL, 16); + bootaddr = hextoul(tmp, NULL); /* * Check to see if the bootline is defined in the 'bootargs' parameter. diff --git a/cmd/fastboot.c b/cmd/fastboot.c index ad5c064911..033a2c95e8 100644 --- a/cmd/fastboot.c +++ b/cmd/fastboot.c @@ -112,13 +112,13 @@ static int do_fastboot(struct cmd_tbl *cmdtp, int flag, int argc, case 'l': if (--argc <= 0) return CMD_RET_USAGE; - buf_addr = simple_strtoul(*++argv, NULL, 16); + buf_addr = hextoul(*++argv, NULL); goto NXTARG; case 's': if (--argc <= 0) return CMD_RET_USAGE; - buf_size = simple_strtoul(*++argv, NULL, 16); + buf_size = hextoul(*++argv, NULL); goto NXTARG; default: diff --git a/cmd/fdt.c b/cmd/fdt.c index baec05529a..c42f1c79d4 100644 --- a/cmd/fdt.c +++ b/cmd/fdt.c @@ -143,7 +143,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 0; } - addr = simple_strtoul(argv[0], NULL, 16); + addr = hextoul(argv[0], NULL); blob = map_sysmem(addr, 0); if (!fdt_valid(&blob)) return 1; @@ -157,7 +157,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) int err; /* Optional new length */ - len = simple_strtoul(argv[1], NULL, 16); + len = hextoul(argv[1], NULL); if (len < fdt_totalsize(blob)) { printf("New length %d < existing length %d, ignoring\n", len, fdt_totalsize(blob)); @@ -195,11 +195,11 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) /* * Set the address and length of the fdt. */ - working_fdt = (struct fdt_header *)simple_strtoul(argv[2], NULL, 16); + working_fdt = (struct fdt_header *)hextoul(argv[2], NULL); if (!fdt_valid(&working_fdt)) return 1; - newaddr = (struct fdt_header *)simple_strtoul(argv[3],NULL,16); + newaddr = (struct fdt_header *)hextoul(argv[3], NULL); /* * If the user specifies a length, use that. Otherwise use the @@ -208,7 +208,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc <= 4) { len = fdt_totalsize(working_fdt); } else { - len = simple_strtoul(argv[4], NULL, 16); + len = hextoul(argv[4], NULL); if (len < fdt_totalsize(working_fdt)) { printf ("New length 0x%X < existing length " "0x%X, aborting.\n", @@ -364,21 +364,22 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } if (subcmd[0] == 'n' || (subcmd[0] == 's' && argc == 5)) { - int reqIndex = -1; + int req_index = -1; int startDepth = fdt_node_depth( working_fdt, nodeoffset); int curDepth = startDepth; - int curIndex = -1; + int cur_index = -1; int nextNodeOffset = fdt_next_node( working_fdt, nodeoffset, &curDepth); if (subcmd[0] == 'n') - reqIndex = simple_strtoul(argv[5], NULL, 16); + req_index = hextoul(argv[5], NULL); while (curDepth > startDepth) { if (curDepth == startDepth + 1) - curIndex++; - if (subcmd[0] == 'n' && curIndex == reqIndex) { + cur_index++; + if (subcmd[0] == 'n' && + cur_index == req_index) { const char *node_name; node_name = fdt_get_name(working_fdt, @@ -394,7 +395,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } if (subcmd[0] == 's') { /* get the num nodes at this level */ - env_set_ulong(var, curIndex + 1); + env_set_ulong(var, cur_index + 1); } else { /* node index not found */ printf("libfdt node not found\n"); @@ -548,7 +549,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) * Set boot cpu id */ } else if (strncmp(argv[1], "boo", 3) == 0) { - unsigned long tmp = simple_strtoul(argv[2], NULL, 16); + unsigned long tmp = hextoul(argv[2], NULL); fdt_set_boot_cpuid_phys(working_fdt, tmp); /* @@ -600,7 +601,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return err; } } else if (argv[2][0] == 'd') { - unsigned long idx = simple_strtoul(argv[3], NULL, 16); + unsigned long idx = hextoul(argv[3], NULL); int err = fdt_del_mem_rsv(working_fdt, idx); if (err < 0) { @@ -636,8 +637,8 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return CMD_RET_USAGE; if (argc == 4) { - initrd_start = simple_strtoul(argv[2], NULL, 16); - initrd_end = simple_strtoul(argv[3], NULL, 16); + initrd_start = hextoul(argv[2], NULL); + initrd_end = hextoul(argv[3], NULL); } fdt_chosen(working_fdt); @@ -654,7 +655,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return CMD_RET_FAILURE; if (argc > 2) { - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); blob = map_sysmem(addr, 0); } else { blob = (struct fdt_header *)gd->fdt_blob; @@ -691,7 +692,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (!working_fdt) return CMD_RET_FAILURE; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); blob = map_sysmem(addr, 0); if (!fdt_valid(&blob)) return CMD_RET_FAILURE; @@ -706,7 +707,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) else if (strncmp(argv[1], "re", 2) == 0) { uint extrasize; if (argc > 2) - extrasize = simple_strtoul(argv[2], NULL, 16); + extrasize = hextoul(argv[2], NULL); else extrasize = 0; fdt_shrink_to_minimum(working_fdt, extrasize); @@ -797,7 +798,7 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len) } if (!isxdigit(*newp)) break; - tmp = simple_strtoul(newp, &newp, 16); + tmp = hextoul(newp, &newp); *data++ = tmp & 0xFF; *len = *len + 1; } @@ -883,7 +884,7 @@ static void print_data(const void *data, int len) env_max_dump = env_get("fdt_max_dump"); if (env_max_dump) - max_dump = simple_strtoul(env_max_dump, NULL, 16); + max_dump = hextoul(env_max_dump, NULL); /* * It is a string, but it may have multiple strings (embedded '\0's). diff --git a/cmd/flash.c b/cmd/flash.c index 240871e808..bc93e984bc 100644 --- a/cmd/flash.c +++ b/cmd/flash.c @@ -151,7 +151,7 @@ addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last) char *ep; char len_used; /* indicates if the "start +length" form used */ - *addr_first = simple_strtoul(arg1, &ep, 16); + *addr_first = hextoul(arg1, &ep); if (ep == arg1 || *ep != '\0') return -1; @@ -161,7 +161,7 @@ addr_spec(char *arg1, char *arg2, ulong *addr_first, ulong *addr_last) ++arg2; } - *addr_last = simple_strtoul(arg2, &ep, 16); + *addr_last = hextoul(arg2, &ep); if (ep == arg2 || *ep != '\0') return -1; @@ -287,7 +287,7 @@ static int do_flinfo(struct cmd_tbl *cmdtp, int flag, int argc, return 0; } - bank = simple_strtoul(argv[1], NULL, 16); + bank = hextoul(argv[1], NULL); if ((bank < 1) || (bank > CONFIG_SYS_MAX_FLASH_BANKS)) { printf ("Only FLASH Banks # 1 ... # %d supported\n", CONFIG_SYS_MAX_FLASH_BANKS); @@ -366,7 +366,7 @@ static int do_flerase(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; if (strcmp(argv[1], "bank") == 0) { - bank = simple_strtoul(argv[2], NULL, 16); + bank = hextoul(argv[2], NULL); if ((bank < 1) || (bank > CONFIG_SYS_MAX_FLASH_BANKS)) { printf ("Only FLASH Banks # 1 ... # %d supported\n", CONFIG_SYS_MAX_FLASH_BANKS); @@ -547,7 +547,7 @@ static int do_protect(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; if (strcmp(argv[2], "bank") == 0) { - bank = simple_strtoul(argv[3], NULL, 16); + bank = hextoul(argv[3], NULL); if ((bank < 1) || (bank > CONFIG_SYS_MAX_FLASH_BANKS)) { printf ("Only FLASH Banks # 1 ... # %d supported\n", CONFIG_SYS_MAX_FLASH_BANKS); diff --git a/cmd/fpga.c b/cmd/fpga.c index 51410a8e42..3fdd0b35e8 100644 --- a/cmd/fpga.c +++ b/cmd/fpga.c @@ -57,7 +57,7 @@ static int do_fpga_check_params(long *dev, long *fpga_data, size_t *data_size, } *fpga_data = local_fpga_data; - local_data_size = simple_strtoul(argv[2], NULL, 16); + local_data_size = hextoul(argv[2], NULL); if (!local_data_size) { debug("fpga: zero size\n"); return CMD_RET_USAGE; @@ -95,8 +95,8 @@ int do_fpga_loads(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) */ argc++; - fpga_sec_info.encflag = (u8)simple_strtoul(argv[4], NULL, 16); - fpga_sec_info.authflag = (u8)simple_strtoul(argv[3], NULL, 16); + fpga_sec_info.encflag = (u8)hextoul(argv[4], NULL); + fpga_sec_info.authflag = (u8)hextoul(argv[3], NULL); if (fpga_sec_info.authflag >= FPGA_NO_ENC_OR_NO_AUTH && fpga_sec_info.encflag >= FPGA_NO_ENC_OR_NO_AUTH) { @@ -134,7 +134,7 @@ static int do_fpga_loadfs(struct cmd_tbl *cmdtp, int flag, int argc, return ret; fpga_fsinfo.fstype = FS_TYPE_ANY; - fpga_fsinfo.blocksize = (unsigned int)simple_strtoul(argv[3], NULL, 16); + fpga_fsinfo.blocksize = (unsigned int)hextoul(argv[3], NULL); fpga_fsinfo.interface = argv[4]; fpga_fsinfo.dev_part = argv[5]; fpga_fsinfo.filename = argv[6]; @@ -274,7 +274,7 @@ static int do_fpga_loadmk(struct cmd_tbl *cmdtp, int flag, int argc, } else #endif { - fpga_data = (void *)simple_strtoul(datastr, NULL, 16); + fpga_data = (void *)hextoul(datastr, NULL); debug("* fpga: cmdline image address = 0x%08lx\n", (ulong)fpga_data); } diff --git a/cmd/fpgad.c b/cmd/fpgad.c index fb2fe63e78..e65441bb76 100644 --- a/cmd/fpgad.c +++ b/cmd/fpgad.c @@ -49,19 +49,19 @@ int do_fpga_md(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) /* * FPGA is specified since argc > 2 */ - fpga = simple_strtoul(argv[1], NULL, 16); + fpga = hextoul(argv[1], NULL); /* * Address is specified since argc > 2 */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); /* * If another parameter, it is the length to display. * Length is the number of objects, not number of bytes. */ if (argc > 3) - length = simple_strtoul(argv[3], NULL, 16); + length = hextoul(argv[3], NULL); } nbytes = length * sizeof(u16); diff --git a/cmd/host.c b/cmd/host.c index 6aa3d9167a..2e998abbcd 100644 --- a/cmd/host.c +++ b/cmd/host.c @@ -62,7 +62,7 @@ static int do_host_bind(struct cmd_tbl *cmdtp, int flag, int argc, if (argc > 2) return CMD_RET_USAGE; dev_str = argv[0]; - dev = simple_strtoul(dev_str, &ep, 16); + dev = hextoul(dev_str, &ep); if (*ep) { printf("** Bad device specification %s **\n", dev_str); return CMD_RET_USAGE; @@ -82,7 +82,7 @@ static int do_host_info(struct cmd_tbl *cmdtp, int flag, int argc, if (argc >= 2) { char *ep; char *dev_str = argv[1]; - int dev = simple_strtoul(dev_str, &ep, 16); + int dev = hextoul(dev_str, &ep); if (*ep) { printf("** Bad device specification %s **\n", dev_str); return CMD_RET_USAGE; @@ -139,7 +139,7 @@ static int do_host_dev(struct cmd_tbl *cmdtp, int flag, int argc, return 0; } - dev = simple_strtoul(argv[1], &ep, 16); + dev = hextoul(argv[1], &ep); if (*ep) { printf("** Bad device specification %s **\n", argv[2]); return CMD_RET_USAGE; diff --git a/cmd/i2c.c b/cmd/i2c.c index 0e1895ad65..631222c28f 100644 --- a/cmd/i2c.c +++ b/cmd/i2c.c @@ -308,13 +308,13 @@ static int do_i2c_read(struct cmd_tbl *cmdtp, int flag, int argc, /* * I2C chip address */ - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); /* * I2C data address within the chip. This can be 1 or * 2 bytes long. Some day it might be 3 bytes long :-). */ - devaddr = simple_strtoul(argv[2], NULL, 16); + devaddr = hextoul(argv[2], NULL); alen = get_alen(argv[2], DEFAULT_ADDR_LEN); if (alen > 3) return CMD_RET_USAGE; @@ -322,12 +322,12 @@ static int do_i2c_read(struct cmd_tbl *cmdtp, int flag, int argc, /* * Length is the number of objects, not number of bytes. */ - length = simple_strtoul(argv[3], NULL, 16); + length = hextoul(argv[3], NULL); /* * memaddr is the address where to store things in memory */ - memaddr = (u_char *)simple_strtoul(argv[4], NULL, 16); + memaddr = (u_char *)hextoul(argv[4], NULL); #if CONFIG_IS_ENABLED(DM_I2C) ret = i2c_get_cur_bus_chip(chip, &dev); @@ -363,18 +363,18 @@ static int do_i2c_write(struct cmd_tbl *cmdtp, int flag, int argc, /* * memaddr is the address where to store things in memory */ - memaddr = (u_char *)simple_strtoul(argv[1], NULL, 16); + memaddr = (u_char *)hextoul(argv[1], NULL); /* * I2C chip address */ - chip = simple_strtoul(argv[2], NULL, 16); + chip = hextoul(argv[2], NULL); /* * I2C data address within the chip. This can be 1 or * 2 bytes long. Some day it might be 3 bytes long :-). */ - devaddr = simple_strtoul(argv[3], NULL, 16); + devaddr = hextoul(argv[3], NULL); alen = get_alen(argv[3], DEFAULT_ADDR_LEN); if (alen > 3) return cmd_usage(cmdtp); @@ -382,7 +382,7 @@ static int do_i2c_write(struct cmd_tbl *cmdtp, int flag, int argc, /* * Length is the number of bytes. */ - length = simple_strtoul(argv[4], NULL, 16); + length = hextoul(argv[4], NULL); #if CONFIG_IS_ENABLED(DM_I2C) ret = i2c_get_cur_bus_chip(chip, &dev); @@ -447,13 +447,13 @@ static int do_i2c_flags(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); ret = i2c_get_cur_bus_chip(chip, &dev); if (ret) return i2c_report_err(ret, I2C_ERR_READ); if (argc > 2) { - flags = simple_strtoul(argv[2], NULL, 16); + flags = hextoul(argv[2], NULL); ret = i2c_set_chip_flags(dev, flags); } else { ret = i2c_get_chip_flags(dev, &flags); @@ -477,13 +477,13 @@ static int do_i2c_olen(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); ret = i2c_get_cur_bus_chip(chip, &dev); if (ret) return i2c_report_err(ret, I2C_ERR_READ); if (argc > 2) { - olen = simple_strtoul(argv[2], NULL, 16); + olen = hextoul(argv[2], NULL); ret = i2c_set_chip_offset_len(dev, olen); } else { ret = i2c_get_chip_offset_len(dev); @@ -543,13 +543,13 @@ static int do_i2c_md(struct cmd_tbl *cmdtp, int flag, int argc, /* * I2C chip address */ - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); /* * I2C data address within the chip. This can be 1 or * 2 bytes long. Some day it might be 3 bytes long :-). */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); alen = get_alen(argv[2], DEFAULT_ADDR_LEN); if (alen > 3) return CMD_RET_USAGE; @@ -559,7 +559,7 @@ static int do_i2c_md(struct cmd_tbl *cmdtp, int flag, int argc, * Length is the number of objects, not number of bytes. */ if (argc > 3) - length = simple_strtoul(argv[3], NULL, 16); + length = hextoul(argv[3], NULL); } #if CONFIG_IS_ENABLED(DM_I2C) @@ -651,12 +651,12 @@ static int do_i2c_mw(struct cmd_tbl *cmdtp, int flag, int argc, /* * Chip is always specified. */ - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); /* * Address is always specified. */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); alen = get_alen(argv[2], DEFAULT_ADDR_LEN); if (alen > 3) return CMD_RET_USAGE; @@ -671,13 +671,13 @@ static int do_i2c_mw(struct cmd_tbl *cmdtp, int flag, int argc, /* * Value to write is always specified. */ - byte = simple_strtoul(argv[3], NULL, 16); + byte = hextoul(argv[3], NULL); /* * Optional count */ if (argc == 5) - count = simple_strtoul(argv[4], NULL, 16); + count = hextoul(argv[4], NULL); else count = 1; @@ -740,12 +740,12 @@ static int do_i2c_crc(struct cmd_tbl *cmdtp, int flag, int argc, /* * Chip is always specified. */ - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); /* * Address is always specified. */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); alen = get_alen(argv[2], DEFAULT_ADDR_LEN); if (alen > 3) return CMD_RET_USAGE; @@ -760,7 +760,7 @@ static int do_i2c_crc(struct cmd_tbl *cmdtp, int flag, int argc, /* * Count is always specified */ - count = simple_strtoul(argv[3], NULL, 16); + count = hextoul(argv[3], NULL); printf ("CRC32 for %08lx ... %08lx ==> ", addr, addr + count - 1); /* @@ -840,12 +840,12 @@ static int mod_i2c_mem(struct cmd_tbl *cmdtp, int incrflag, int flag, int argc, /* * Chip is always specified. */ - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); /* * Address is always specified. */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); alen = get_alen(argv[2], DEFAULT_ADDR_LEN); if (alen > 3) return CMD_RET_USAGE; @@ -900,7 +900,7 @@ static int mod_i2c_mem(struct cmd_tbl *cmdtp, int incrflag, int flag, int argc, else { char *endp; - data = simple_strtoul(console_buffer, &endp, 16); + data = hextoul(console_buffer, &endp); if (size == 1) data = data << 24; else if (size == 2) @@ -1049,12 +1049,12 @@ static int do_i2c_loop(struct cmd_tbl *cmdtp, int flag, int argc, /* * Chip is always specified. */ - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); /* * Address is always specified. */ - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); alen = get_alen(argv[2], DEFAULT_ADDR_LEN); if (alen > 3) return CMD_RET_USAGE; @@ -1070,7 +1070,7 @@ static int do_i2c_loop(struct cmd_tbl *cmdtp, int flag, int argc, * Length is the number of objects, not number of bytes. */ length = 1; - length = simple_strtoul(argv[3], NULL, 16); + length = hextoul(argv[3], NULL); if (length > sizeof(bytes)) length = sizeof(bytes); @@ -1219,7 +1219,7 @@ static int do_sdram(struct cmd_tbl *cmdtp, int flag, int argc, /* * Chip is always specified. */ - chip = simple_strtoul (argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); #if CONFIG_IS_ENABLED(DM_I2C) ret = i2c_get_cur_bus_chip(chip, &dev); @@ -1673,7 +1673,7 @@ int do_edid(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; } - chip = simple_strtoul(argv[1], NULL, 16); + chip = hextoul(argv[1], NULL); #if CONFIG_IS_ENABLED(DM_I2C) ret = i2c_get_cur_bus_chip(chip, &dev); if (!ret) diff --git a/cmd/ini.c b/cmd/ini.c index c075be623c..81dfc4c4e8 100644 --- a/cmd/ini.c +++ b/cmd/ini.c @@ -236,10 +236,10 @@ static int do_ini(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return CMD_RET_USAGE; section = argv[1]; - file_address = (char *)simple_strtoul( - argc < 3 ? env_get("loadaddr") : argv[2], NULL, 16); - file_size = (size_t)simple_strtoul( - argc < 4 ? env_get("filesize") : argv[3], NULL, 16); + file_address = (char *)hextoul(argc < 3 ? env_get("loadaddr") : argv[2], + NULL); + file_size = (size_t)hextoul(argc < 4 ? env_get("filesize") : argv[3], + NULL); return ini_parse(file_address, file_size, ini_handler, (void *)section); } diff --git a/cmd/io.c b/cmd/io.c index c7e964153b..e23ea62700 100644 --- a/cmd/io.c +++ b/cmd/io.c @@ -51,7 +51,7 @@ int do_io_iod(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; /* Address is specified since argc > 1 */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); addr += base_address; /* @@ -59,7 +59,7 @@ int do_io_iod(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) * Length is the number of objects, not number of bytes. */ if (argc > 2) - length = simple_strtoul(argv[2], NULL, 16); + length = hextoul(argv[2], NULL); } bytes = size * length; @@ -102,8 +102,8 @@ int do_io_iow(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (size < 0) return 1; - addr = simple_strtoul(argv[1], NULL, 16); - val = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[1], NULL); + val = hextoul(argv[2], NULL); if (size == 4) outl((u32) val, addr); diff --git a/cmd/iotrace.c b/cmd/iotrace.c index 652ebefb89..f28359e287 100644 --- a/cmd/iotrace.c +++ b/cmd/iotrace.c @@ -60,8 +60,8 @@ static int do_set_buffer(int argc, char *const argv[]) ulong addr = 0, size = 0; if (argc == 2) { - addr = simple_strtoul(*argv++, NULL, 16); - size = simple_strtoul(*argv++, NULL, 16); + addr = hextoul(*argv++, NULL); + size = hextoul(*argv++, NULL); } else if (argc != 0) { return CMD_RET_USAGE; } @@ -76,8 +76,8 @@ static int do_set_region(int argc, char *const argv[]) ulong addr = 0, size = 0; if (argc == 2) { - addr = simple_strtoul(*argv++, NULL, 16); - size = simple_strtoul(*argv++, NULL, 16); + addr = hextoul(*argv++, NULL); + size = hextoul(*argv++, NULL); } else if (argc != 0) { return CMD_RET_USAGE; } diff --git a/cmd/itest.c b/cmd/itest.c index 9a441ce9b8..74414cbdc4 100644 --- a/cmd/itest.c +++ b/cmd/itest.c @@ -57,7 +57,7 @@ static long evalexp(char *s, int w) /* if the parameter starts with a * then assume is a pointer to the value we want */ if (s[0] == '*') { - addr = simple_strtoul(&s[1], NULL, 16); + addr = hextoul(&s[1], NULL); buf = map_physmem(addr, w, MAP_WRBACK); if (!buf && addr) { puts("Failed to map physical memory\n"); @@ -82,7 +82,7 @@ static long evalexp(char *s, int w) unmap_physmem(buf, w); return l; } else { - l = simple_strtoul(s, NULL, 16); + l = hextoul(s, NULL); } /* avoid overflow on mask calculus */ @@ -93,7 +93,7 @@ static char * evalstr(char *s) { /* if the parameter starts with a * then assume a string pointer else its a literal */ if (s[0] == '*') { - return (char *)simple_strtoul(&s[1], NULL, 16); + return (char *)hextoul(&s[1], NULL); } else if (s[0] == '$') { int i = 2; diff --git a/cmd/jffs2.c b/cmd/jffs2.c index 9540988e33..63bd55263a 100644 --- a/cmd/jffs2.c +++ b/cmd/jffs2.c @@ -491,7 +491,7 @@ int do_jffs2_fsload(struct cmd_tbl *cmdtp, int flag, int argc, filename = argv[1]; } if (argc == 3) { - offset = simple_strtoul(argv[1], NULL, 16); + offset = hextoul(argv[1], NULL); image_load_addr = offset; filename = argv[2]; } diff --git a/cmd/load.c b/cmd/load.c index b7894d7db0..ec3eed18b1 100644 --- a/cmd/load.c +++ b/cmd/load.c @@ -257,11 +257,11 @@ int do_save_serial(struct cmd_tbl *cmdtp, int flag, int argc, #endif if (argc >= 2) { - offset = simple_strtoul(argv[1], NULL, 16); + offset = hextoul(argv[1], NULL); } #ifdef CONFIG_SYS_LOADS_BAUD_CHANGE if (argc >= 3) { - size = simple_strtoul(argv[2], NULL, 16); + size = hextoul(argv[2], NULL); } if (argc == 4) { save_baudrate = (int)simple_strtoul(argv[3], NULL, 10); @@ -284,7 +284,7 @@ int do_save_serial(struct cmd_tbl *cmdtp, int flag, int argc, } #else /* ! CONFIG_SYS_LOADS_BAUD_CHANGE */ if (argc == 3) { - size = simple_strtoul(argv[2], NULL, 16); + size = hextoul(argv[2], NULL); } #endif /* CONFIG_SYS_LOADS_BAUD_CHANGE */ @@ -438,12 +438,12 @@ static int do_load_serial_bin(struct cmd_tbl *cmdtp, int flag, int argc, /* pre-set offset from $loadaddr */ s = env_get("loadaddr"); if (s) - offset = simple_strtoul(s, NULL, 16); + offset = hextoul(s, NULL); load_baudrate = current_baudrate = gd->baudrate; if (argc >= 2) { - offset = simple_strtoul(argv[1], NULL, 16); + offset = hextoul(argv[1], NULL); } if (argc == 3) { load_baudrate = (int)simple_strtoul(argv[2], NULL, 10); diff --git a/cmd/lzmadec.c b/cmd/lzmadec.c index 3b8db0a853..81924da461 100644 --- a/cmd/lzmadec.c +++ b/cmd/lzmadec.c @@ -26,11 +26,11 @@ static int do_lzmadec(struct cmd_tbl *cmdtp, int flag, int argc, switch (argc) { case 4: - dst_len = simple_strtoul(argv[3], NULL, 16); + dst_len = hextoul(argv[3], NULL); /* fall through */ case 3: - src = simple_strtoul(argv[1], NULL, 16); - dst = simple_strtoul(argv[2], NULL, 16); + src = hextoul(argv[1], NULL); + dst = hextoul(argv[2], NULL); break; default: return CMD_RET_USAGE; diff --git a/cmd/md5sum.c b/cmd/md5sum.c index 5ae3ddf85f..0f0e1d3dd6 100644 --- a/cmd/md5sum.c +++ b/cmd/md5sum.c @@ -25,7 +25,7 @@ static void store_result(const u8 *sum, const char *dest) if (*dest == '*') { u8 *ptr; - ptr = (u8 *)simple_strtoul(dest + 1, NULL, 16); + ptr = (u8 *)hextoul(dest + 1, NULL); for (i = 0; i < 16; i++) *ptr++ = sum[i]; } else { @@ -46,7 +46,7 @@ static int parse_verify_sum(char *verify_str, u8 *vsum) if (*verify_str == '*') { u8 *ptr; - ptr = (u8 *)simple_strtoul(verify_str + 1, NULL, 16); + ptr = (u8 *)hextoul(verify_str + 1, NULL); memcpy(vsum, ptr, 16); } else { unsigned int i; @@ -66,7 +66,7 @@ static int parse_verify_sum(char *verify_str, u8 *vsum) *nullp = '\0'; *(u8 *)(vsum + i) = - simple_strtoul(vsum_str + (i * 2), NULL, 16); + hextoul(vsum_str + (i * 2), NULL); *nullp = end; } } @@ -97,8 +97,8 @@ int do_md5sum(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return CMD_RET_USAGE; } - addr = simple_strtoul(*av++, NULL, 16); - len = simple_strtoul(*av++, NULL, 16); + addr = hextoul(*av++, NULL); + len = hextoul(*av++, NULL); buf = map_sysmem(addr, len); md5_wd(buf, len, output, CHUNKSZ_MD5); @@ -147,8 +147,8 @@ static int do_md5sum(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); - len = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[1], NULL); + len = hextoul(argv[2], NULL); buf = map_sysmem(addr, len); md5_wd(buf, len, output, CHUNKSZ_MD5); diff --git a/cmd/mdio.c b/cmd/mdio.c index cfa45ad12a..3c74326161 100644 --- a/cmd/mdio.c +++ b/cmd/mdio.c @@ -254,7 +254,7 @@ static int do_mdio(struct cmd_tbl *cmdtp, int flag, int argc, switch (op[0]) { case 'w': if (pos > 1) - data = simple_strtoul(argv[pos--], NULL, 16); + data = hextoul(argv[pos--], NULL); /* Intentional fall-through - Get reg for read and write */ case 'r': if (pos > 1) diff --git a/cmd/mem.c b/cmd/mem.c index 1eb83b7570..0978df5d10 100644 --- a/cmd/mem.c +++ b/cmd/mem.c @@ -89,14 +89,14 @@ static int do_mem_md(struct cmd_tbl *cmdtp, int flag, int argc, /* Address is specified since argc > 1 */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); addr += base_address; /* If another parameter, it is the length to display. * Length is the number of objects, not number of bytes. */ if (argc > 2) - length = simple_strtoul(argv[2], NULL, 16); + length = hextoul(argv[2], NULL); } bytes = size * length; @@ -144,7 +144,7 @@ static int do_mem_mw(struct cmd_tbl *cmdtp, int flag, int argc, /* Address is specified since argc > 1 */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); addr += base_address; /* Get the value to write. @@ -152,11 +152,11 @@ static int do_mem_mw(struct cmd_tbl *cmdtp, int flag, int argc, if (SUPPORT_64BIT_DATA) writeval = simple_strtoull(argv[2], NULL, 16); else - writeval = simple_strtoul(argv[2], NULL, 16); + writeval = hextoul(argv[2], NULL); /* Count ? */ if (argc == 4) { - count = simple_strtoul(argv[3], NULL, 16); + count = hextoul(argv[3], NULL); } else { count = 1; } @@ -258,13 +258,13 @@ static int do_mem_cmp(struct cmd_tbl *cmdtp, int flag, int argc, size == 4 ? "word" : size == 2 ? "halfword" : "byte"; - addr1 = simple_strtoul(argv[1], NULL, 16); + addr1 = hextoul(argv[1], NULL); addr1 += base_address; - addr2 = simple_strtoul(argv[2], NULL, 16); + addr2 = hextoul(argv[2], NULL); addr2 += base_address; - count = simple_strtoul(argv[3], NULL, 16); + count = hextoul(argv[3], NULL); bytes = size * count; base = buf1 = map_sysmem(addr1, bytes); @@ -321,13 +321,13 @@ static int do_mem_cp(struct cmd_tbl *cmdtp, int flag, int argc, if ((size = cmd_get_data_size(argv[0], 4)) < 0) return 1; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); addr += base_address; - dest = simple_strtoul(argv[2], NULL, 16); + dest = hextoul(argv[2], NULL); dest += base_address; - count = simple_strtoul(argv[3], NULL, 16); + count = hextoul(argv[3], NULL); if (count == 0) { puts ("Zero length ???\n"); @@ -405,7 +405,7 @@ static int do_mem_search(struct cmd_tbl *cmdtp, int flag, int argc, if (ch == 'q') quiet = true; else if (ch == 'l' && isxdigit(argv[0][2])) - limit = simple_strtoul(argv[0] + 2, NULL, 16); + limit = hextoul(argv[0] + 2, NULL); else return CMD_RET_USAGE; argc--; @@ -413,11 +413,11 @@ static int do_mem_search(struct cmd_tbl *cmdtp, int flag, int argc, } /* Address is specified since argc > 1 */ - addr = simple_strtoul(argv[0], NULL, 16); + addr = hextoul(argv[0], NULL); addr += base_address; /* Length is the number of objects, not number of bytes */ - length = simple_strtoul(argv[1], NULL, 16); + length = hextoul(argv[1], NULL); /* Read the bytes to search for */ end = search_buf + sizeof(search_buf); @@ -434,7 +434,7 @@ static int do_mem_search(struct cmd_tbl *cmdtp, int flag, int argc, ptr += len; continue; } else { - u32 val = simple_strtoul(argv[i], NULL, 16); + u32 val = hextoul(argv[i], NULL); switch (size) { case 1: @@ -512,7 +512,7 @@ static int do_mem_base(struct cmd_tbl *cmdtp, int flag, int argc, if (argc > 1) { /* Set new base address. */ - base_address = simple_strtoul(argv[1], NULL, 16); + base_address = hextoul(argv[1], NULL); } /* Print the current base address. */ @@ -543,11 +543,11 @@ static int do_mem_loop(struct cmd_tbl *cmdtp, int flag, int argc, /* Address is always specified. */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); /* Length is the number of objects, not number of bytes. */ - length = simple_strtoul(argv[2], NULL, 16); + length = hextoul(argv[2], NULL); bytes = size * length; buf = map_sysmem(addr, bytes); @@ -636,17 +636,17 @@ static int do_mem_loopw(struct cmd_tbl *cmdtp, int flag, int argc, /* Address is always specified. */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); /* Length is the number of objects, not number of bytes. */ - length = simple_strtoul(argv[2], NULL, 16); + length = hextoul(argv[2], NULL); /* data to write */ if (SUPPORT_64BIT_DATA) data = simple_strtoull(argv[3], NULL, 16); else - data = simple_strtoul(argv[3], NULL, 16); + data = hextoul(argv[3], NULL); bytes = size * length; buf = map_sysmem(addr, bytes); @@ -1175,7 +1175,7 @@ mod_mem(struct cmd_tbl *cmdtp, int incrflag, int flag, int argc, /* Address is specified since argc > 1 */ - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); addr += base_address; } @@ -1215,7 +1215,7 @@ mod_mem(struct cmd_tbl *cmdtp, int incrflag, int flag, int argc, if (SUPPORT_64BIT_DATA) i = simple_strtoull(console_buffer, &endp, 16); else - i = simple_strtoul(console_buffer, &endp, 16); + i = hextoul(console_buffer, &endp); nbytes = endp - console_buffer; if (nbytes) { /* good enough to not time out @@ -1282,11 +1282,11 @@ static int do_random(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3 || argc > 4) return CMD_RET_USAGE; - len = simple_strtoul(argv[2], NULL, 16); - addr = simple_strtoul(argv[1], NULL, 16); + len = hextoul(argv[2], NULL); + addr = hextoul(argv[1], NULL); if (argc == 4) { - seed = simple_strtoul(argv[3], NULL, 16); + seed = hextoul(argv[3], NULL); if (seed == 0) { printf("The seed cannot be 0. Using 0xDEADBEEF.\n"); seed = 0xDEADBEEF; diff --git a/cmd/mfsl.c b/cmd/mfsl.c index 31f5b36ade..0c78720ec4 100644 --- a/cmd/mfsl.c +++ b/cmd/mfsl.c @@ -23,8 +23,8 @@ int do_frd(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc < 2) return CMD_RET_USAGE; - fslnum = (unsigned int)simple_strtoul (argv[1], NULL, 16); - blocking = (unsigned int)simple_strtoul (argv[2], NULL, 16); + fslnum = (unsigned int)hextoul(argv[1], NULL); + blocking = (unsigned int)hextoul(argv[2], NULL); if (fslnum < 0 || fslnum >= XILINX_FSL_NUMBER) { puts ("Bad number of FSL\n"); return CMD_RET_USAGE; @@ -178,9 +178,9 @@ int do_fwr(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc < 3) return CMD_RET_USAGE; - fslnum = (unsigned int)simple_strtoul (argv[1], NULL, 16); - num = (unsigned int)simple_strtoul (argv[2], NULL, 16); - blocking = (unsigned int)simple_strtoul (argv[3], NULL, 16); + fslnum = (unsigned int)hextoul(argv[1], NULL); + num = (unsigned int)hextoul(argv[2], NULL); + blocking = (unsigned int)hextoul(argv[3], NULL); if (fslnum < 0 || fslnum >= XILINX_FSL_NUMBER) return CMD_RET_USAGE; @@ -332,8 +332,8 @@ int do_rspr(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc < 2) return CMD_RET_USAGE; - reg = (unsigned int)simple_strtoul (argv[1], NULL, 16); - val = (unsigned int)simple_strtoul (argv[2], NULL, 16); + reg = (unsigned int)hextoul(argv[1], NULL); + val = (unsigned int)hextoul(argv[2], NULL); switch (reg) { case 0x1: if (argc > 2) { diff --git a/cmd/mii.c b/cmd/mii.c index fe8602eb7c..fab420ee29 100644 --- a/cmd/mii.c +++ b/cmd/mii.c @@ -267,10 +267,10 @@ static void extract_range( unsigned char * phi) { char * end; - *plo = simple_strtoul(input, &end, 16); + *plo = hextoul(input, &end); if (*end == '-') { end++; - *phi = simple_strtoul(end, NULL, 16); + *phi = hextoul(end, NULL); } else { *phi = *plo; @@ -319,9 +319,9 @@ static int do_mii(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc >= 4) extract_range(argv[3], ®lo, ®hi); if (argc >= 5) - data = simple_strtoul(argv[4], NULL, 16); + data = hextoul(argv[4], NULL); if (argc >= 6) - mask = simple_strtoul(argv[5], NULL, 16); + mask = hextoul(argv[5], NULL); } if (addrhi > 31 && strncmp(op, "de", 2)) { diff --git a/cmd/misc.c b/cmd/misc.c index ef540e836f..bcd8d960ee 100644 --- a/cmd/misc.c +++ b/cmd/misc.c @@ -57,9 +57,9 @@ static int do_misc_op(struct cmd_tbl *cmdtp, int flag, return ret; } - offset = simple_strtoul(argv[1], NULL, 16); - buf = (void *)simple_strtoul(argv[2], NULL, 16); - size = simple_strtoul(argv[3], NULL, 16); + offset = hextoul(argv[1], NULL); + buf = (void *)hextoul(argv[2], NULL); + size = hextoul(argv[3], NULL); if (op == MISC_OP_READ) misc_op = misc_read; diff --git a/cmd/mmc.c b/cmd/mmc.c index b942576b58..f72277800a 100644 --- a/cmd/mmc.c +++ b/cmd/mmc.c @@ -189,7 +189,7 @@ static int do_mmcrpmb_key(struct cmd_tbl *cmdtp, int flag, if (argc != 2) return CMD_RET_USAGE; - key_addr = (void *)simple_strtoul(argv[1], NULL, 16); + key_addr = (void *)hextoul(argv[1], NULL); if (!confirm_key_prog()) return CMD_RET_FAILURE; if (mmc_rpmb_set_key(mmc, key_addr)) { @@ -211,12 +211,12 @@ static int do_mmcrpmb_read(struct cmd_tbl *cmdtp, int flag, if (argc < 4) return CMD_RET_USAGE; - addr = (void *)simple_strtoul(argv[1], NULL, 16); - blk = simple_strtoul(argv[2], NULL, 16); - cnt = simple_strtoul(argv[3], NULL, 16); + addr = (void *)hextoul(argv[1], NULL); + blk = hextoul(argv[2], NULL); + cnt = hextoul(argv[3], NULL); if (argc == 5) - key_addr = (void *)simple_strtoul(argv[4], NULL, 16); + key_addr = (void *)hextoul(argv[4], NULL); printf("\nMMC RPMB read: dev # %d, block # %d, count %d ... ", curr_device, blk, cnt); @@ -240,10 +240,10 @@ static int do_mmcrpmb_write(struct cmd_tbl *cmdtp, int flag, if (argc != 5) return CMD_RET_USAGE; - addr = (void *)simple_strtoul(argv[1], NULL, 16); - blk = simple_strtoul(argv[2], NULL, 16); - cnt = simple_strtoul(argv[3], NULL, 16); - key_addr = (void *)simple_strtoul(argv[4], NULL, 16); + addr = (void *)hextoul(argv[1], NULL); + blk = hextoul(argv[2], NULL); + cnt = hextoul(argv[3], NULL); + key_addr = (void *)hextoul(argv[4], NULL); printf("\nMMC RPMB write: dev # %d, block # %d, count %d ... ", curr_device, blk, cnt); @@ -334,9 +334,9 @@ static int do_mmc_read(struct cmd_tbl *cmdtp, int flag, if (argc != 4) return CMD_RET_USAGE; - addr = (void *)simple_strtoul(argv[1], NULL, 16); - blk = simple_strtoul(argv[2], NULL, 16); - cnt = simple_strtoul(argv[3], NULL, 16); + addr = (void *)hextoul(argv[1], NULL); + blk = hextoul(argv[2], NULL); + cnt = hextoul(argv[3], NULL); mmc = init_mmc_device(curr_device, false); if (!mmc) @@ -379,8 +379,8 @@ static int do_mmc_sparse_write(struct cmd_tbl *cmdtp, int flag, if (argc != 3) return CMD_RET_USAGE; - addr = (void *)simple_strtoul(argv[1], NULL, 16); - blk = simple_strtoul(argv[2], NULL, 16); + addr = (void *)hextoul(argv[1], NULL); + blk = hextoul(argv[2], NULL); if (!is_sparse_image(addr)) { printf("Not a sparse image\n"); @@ -427,9 +427,9 @@ static int do_mmc_write(struct cmd_tbl *cmdtp, int flag, if (argc != 4) return CMD_RET_USAGE; - addr = (void *)simple_strtoul(argv[1], NULL, 16); - blk = simple_strtoul(argv[2], NULL, 16); - cnt = simple_strtoul(argv[3], NULL, 16); + addr = (void *)hextoul(argv[1], NULL); + blk = hextoul(argv[2], NULL); + cnt = hextoul(argv[3], NULL); mmc = init_mmc_device(curr_device, false); if (!mmc) @@ -457,8 +457,8 @@ static int do_mmc_erase(struct cmd_tbl *cmdtp, int flag, if (argc != 3) return CMD_RET_USAGE; - blk = simple_strtoul(argv[1], NULL, 16); - cnt = simple_strtoul(argv[2], NULL, 16); + blk = hextoul(argv[1], NULL); + cnt = hextoul(argv[2], NULL); mmc = init_mmc_device(curr_device, false); if (!mmc) @@ -908,7 +908,7 @@ static int do_mmc_setdsr(struct cmd_tbl *cmdtp, int flag, if (argc != 2) return CMD_RET_USAGE; - val = simple_strtoul(argv[1], NULL, 16); + val = hextoul(argv[1], NULL); mmc = find_mmc_device(curr_device); if (!mmc) { diff --git a/cmd/mtd.c b/cmd/mtd.c index c22478c152..ad5cc9827d 100644 --- a/cmd/mtd.c +++ b/cmd/mtd.c @@ -285,12 +285,12 @@ static int do_mtd_io(struct cmd_tbl *cmdtp, int flag, int argc, goto out_put_mtd; } - user_addr = simple_strtoul(argv[0], NULL, 16); + user_addr = hextoul(argv[0], NULL); argc--; argv++; } - start_off = argc > 0 ? simple_strtoul(argv[0], NULL, 16) : 0; + start_off = argc > 0 ? hextoul(argv[0], NULL) : 0; if (!mtd_is_aligned_with_min_io_size(mtd, start_off)) { printf("Offset not aligned with a page (0x%x)\n", mtd->writesize); @@ -299,7 +299,7 @@ static int do_mtd_io(struct cmd_tbl *cmdtp, int flag, int argc, } default_len = dump ? mtd->writesize : mtd->size; - len = argc > 1 ? simple_strtoul(argv[1], NULL, 16) : default_len; + len = argc > 1 ? hextoul(argv[1], NULL) : default_len; if (!mtd_is_aligned_with_min_io_size(mtd, len)) { len = round_up(len, mtd->writesize); printf("Size not on a page boundary (0x%x), rounding to 0x%llx\n", @@ -411,8 +411,8 @@ static int do_mtd_erase(struct cmd_tbl *cmdtp, int flag, int argc, argc -= 2; argv += 2; - off = argc > 0 ? simple_strtoul(argv[0], NULL, 16) : 0; - len = argc > 1 ? simple_strtoul(argv[1], NULL, 16) : mtd->size; + off = argc > 0 ? hextoul(argv[0], NULL) : 0; + len = argc > 1 ? hextoul(argv[1], NULL) : mtd->size; if (!mtd_is_aligned_with_block_size(mtd, off)) { printf("Offset not aligned with a block (0x%x)\n", diff --git a/cmd/mvebu/bubt.c b/cmd/mvebu/bubt.c index 5cd520e46b..d4f381b6ad 100644 --- a/cmd/mvebu/bubt.c +++ b/cmd/mvebu/bubt.c @@ -137,7 +137,7 @@ static ulong get_load_addr(void) addr_str = env_get("loadaddr"); if (addr_str) - addr = simple_strtoul(addr_str, NULL, 16); + addr = hextoul(addr_str, NULL); else addr = CONFIG_SYS_LOAD_ADDR; diff --git a/cmd/mvebu/comphy_rx_training.c b/cmd/mvebu/comphy_rx_training.c index 0798decfae..25a9e153de 100644 --- a/cmd/mvebu/comphy_rx_training.c +++ b/cmd/mvebu/comphy_rx_training.c @@ -25,8 +25,8 @@ int mvebu_comphy_rx_training_cmd(struct cmd_tbl *cmdtp, int flag, int argc, return -1; } - cp_index = simple_strtoul(argv[1], NULL, 16); - comphy_index = simple_strtoul(argv[2], NULL, 16); + cp_index = hextoul(argv[1], NULL); + comphy_index = hextoul(argv[2], NULL); ret = uclass_get(UCLASS_MISC, &uc); if (ret) { diff --git a/cmd/nand.c b/cmd/nand.c index 97e117a979..34371b983a 100644 --- a/cmd/nand.c +++ b/cmd/nand.c @@ -543,7 +543,7 @@ static int do_nand(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) goto usage; - off = (int)simple_strtoul(argv[2], NULL, 16); + off = (int)hextoul(argv[2], NULL); ret = nand_dump(mtd, off, !strcmp(&cmd[4], ".oob"), repeat); return ret == 0 ? 1 : 0; @@ -559,7 +559,7 @@ static int do_nand(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 4) goto usage; - addr = (ulong)simple_strtoul(argv[2], NULL, 16); + addr = (ulong)hextoul(argv[2], NULL); read = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */ printf("\nNAND %s: ", read ? "read" : "write"); @@ -713,7 +713,7 @@ static int do_nand(struct cmd_tbl *cmdtp, int flag, int argc, goto usage; while (argc > 0) { - addr = simple_strtoul(*argv, NULL, 16); + addr = hextoul(*argv, NULL); if (mtd_block_markbad(mtd, addr)) { printf("block 0x%08lx NOT marked " @@ -957,7 +957,7 @@ static int do_nandboot(struct cmd_tbl *cmdtp, int flag, int argc, if (argc > 3) goto usage; if (argc == 3) - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); else addr = CONFIG_SYS_LOAD_ADDR; @@ -975,17 +975,17 @@ static int do_nandboot(struct cmd_tbl *cmdtp, int flag, int argc, boot_device = env_get("bootdevice"); break; case 2: - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); boot_device = env_get("bootdevice"); break; case 3: - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); boot_device = argv[2]; break; case 4: - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); boot_device = argv[2]; - offset = simple_strtoul(argv[3], NULL, 16); + offset = hextoul(argv[3], NULL); break; default: #if defined(CONFIG_CMD_MTDPARTS) @@ -1003,7 +1003,7 @@ usage: } bootstage_mark(BOOTSTAGE_ID_NAND_BOOT_DEVICE); - idx = simple_strtoul(boot_device, NULL, 16); + idx = hextoul(boot_device, NULL); mtd = get_nand_dev_by_index(idx); if (!mtd) { diff --git a/cmd/net.c b/cmd/net.c index 76c7e75125..651c1411f4 100644 --- a/cmd/net.c +++ b/cmd/net.c @@ -205,7 +205,7 @@ static int netboot_common(enum proto_t proto, struct cmd_tbl *cmdtp, int argc, /* pre-set image_load_addr */ s = env_get("loadaddr"); if (s != NULL) - image_load_addr = simple_strtoul(s, NULL, 16); + image_load_addr = hextoul(s, NULL); switch (argc) { case 1: @@ -220,7 +220,7 @@ static int netboot_common(enum proto_t proto, struct cmd_tbl *cmdtp, int argc, * form must be written in a format which can not be * mis-interpreted as a valid number. */ - addr = simple_strtoul(argv[1], &end, 16); + addr = hextoul(argv[1], &end); if (end == (argv[1] + strlen(argv[1]))) { image_load_addr = addr; /* refresh bootfile name from env */ @@ -234,7 +234,7 @@ static int netboot_common(enum proto_t proto, struct cmd_tbl *cmdtp, int argc, break; case 3: - image_load_addr = simple_strtoul(argv[1], NULL, 16); + image_load_addr = hextoul(argv[1], NULL); net_boot_file_name_explicit = true; copy_filename(net_boot_file_name, argv[2], sizeof(net_boot_file_name)); diff --git a/cmd/nvedit.c b/cmd/nvedit.c index d14ba10cef..02a99b4a77 100644 --- a/cmd/nvedit.c +++ b/cmd/nvedit.c @@ -358,7 +358,7 @@ ulong env_get_hex(const char *varname, ulong default_val) s = env_get(varname); if (s) - value = simple_strtoul(s, &endp, 16); + value = hextoul(s, &endp); if (!s || endp == s) return default_val; @@ -984,7 +984,7 @@ static int do_env_export(struct cmd_tbl *cmdtp, int flag, case 's': /* size given */ if (--argc <= 0) return cmd_usage(cmdtp); - size = simple_strtoul(*++argv, NULL, 16); + size = hextoul(*++argv, NULL); goto NXTARG; case 't': /* text format */ if (fmt++) @@ -1001,7 +1001,7 @@ NXTARG: ; if (argc < 1) return CMD_RET_USAGE; - addr = simple_strtoul(argv[0], NULL, 16); + addr = hextoul(argv[0], NULL); ptr = map_sysmem(addr, size); if (size) @@ -1140,11 +1140,11 @@ static int do_env_import(struct cmd_tbl *cmdtp, int flag, if (sep != '\n' && crlf_is_lf ) crlf_is_lf = 0; - addr = simple_strtoul(argv[0], NULL, 16); + addr = hextoul(argv[0], NULL); ptr = map_sysmem(addr, 0); if (argc >= 2 && strcmp(argv[1], "-")) { - size = simple_strtoul(argv[1], NULL, 16); + size = hextoul(argv[1], NULL); } else if (chk) { puts("## Error: external checksum format must pass size\n"); return CMD_RET_FAILURE; diff --git a/cmd/nvedit_efi.c b/cmd/nvedit_efi.c index d5e93827e4..676bbda950 100644 --- a/cmd/nvedit_efi.c +++ b/cmd/nvedit_efi.c @@ -471,12 +471,12 @@ int do_env_set_efi(struct cmd_tbl *cmdtp, int flag, int argc, argc--; argv++; - addr = simple_strtoul(argv[0], &ep, 16); + addr = hextoul(argv[0], &ep); if (*ep != ':') return CMD_RET_USAGE; /* 0 should be allowed for delete */ - size = simple_strtoul(++ep, NULL, 16); + size = hextoul(++ep, NULL); value_on_memory = true; } else if (!strcmp(argv[0], "-v")) { diff --git a/cmd/onenand.c b/cmd/onenand.c index 216458bb47..852ed5c7b2 100644 --- a/cmd/onenand.c +++ b/cmd/onenand.c @@ -398,7 +398,7 @@ static int do_onenand_read(struct cmd_tbl *cmdtp, int flag, int argc, if ((s != NULL) && (!strcmp(s, ".oob"))) oob = 1; - addr = (ulong)simple_strtoul(argv[1], NULL, 16); + addr = (ulong)hextoul(argv[1], NULL); printf("\nOneNAND read: "); if (arg_off_size_onenand(argc - 2, argv + 2, &ofs, &len) != 0) @@ -425,7 +425,7 @@ static int do_onenand_write(struct cmd_tbl *cmdtp, int flag, int argc, if (strncmp(argv[0] + 6, "yaffs", 5) == 0) withoob = 1; - addr = (ulong)simple_strtoul(argv[1], NULL, 16); + addr = (ulong)hextoul(argv[1], NULL); printf("\nOneNAND write: "); if (arg_off_size_onenand(argc - 2, argv + 2, &ofs, &len) != 0) @@ -512,7 +512,7 @@ static int do_onenand_dump(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; s = strchr(argv[0], '.'); - ofs = (int)simple_strtoul(argv[1], NULL, 16); + ofs = (int)hextoul(argv[1], NULL); if (s != NULL && strcmp(s, ".oob") == 0) ret = onenand_dump(mtd, ofs, 1); @@ -535,7 +535,7 @@ static int do_onenand_markbad(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; while (argc > 0) { - addr = simple_strtoul(*argv, NULL, 16); + addr = hextoul(*argv, NULL); if (mtd_block_markbad(mtd, addr)) { printf("block 0x%08lx NOT marked " diff --git a/cmd/osd.c b/cmd/osd.c index 703d640b04..8557894a5d 100644 --- a/cmd/osd.c +++ b/cmd/osd.c @@ -99,10 +99,10 @@ static int do_osd_write(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); hexstr = argv[3]; - count = (argc > 4) ? simple_strtoul(argv[4], NULL, 16) : 1; + count = (argc > 4) ? hextoul(argv[4], NULL) : 1; buflen = strlen(hexstr) / 2; @@ -148,9 +148,9 @@ static int do_osd_print(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); - color = simple_strtoul(argv[3], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); + color = hextoul(argv[3], NULL); text = argv[4]; res = video_osd_print(osd_cur, x, y, color, text); @@ -176,8 +176,8 @@ static int do_osd_size(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_FAILURE; } - x = simple_strtoul(argv[1], NULL, 16); - y = simple_strtoul(argv[2], NULL, 16); + x = hextoul(argv[1], NULL); + y = hextoul(argv[2], NULL); res = video_osd_set_size(osd_cur, x, y); if (res) { diff --git a/cmd/pcap.c b/cmd/pcap.c index d0172f3fff..c751980c55 100644 --- a/cmd/pcap.c +++ b/cmd/pcap.c @@ -18,7 +18,7 @@ static int do_pcap_init(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); size = simple_strtoul(argv[2], NULL, 10); return pcap_init(addr, size) ? CMD_RET_FAILURE : CMD_RET_SUCCESS; diff --git a/cmd/pci.c b/cmd/pci.c index e53b7c858c..22de9426c9 100644 --- a/cmd/pci.c +++ b/cmd/pci.c @@ -470,14 +470,14 @@ static pci_dev_t get_pci_dev(char *name) if (name[i] == '.') { memcpy(cnum, &name[iold], i - iold); cnum[i - iold] = '\0'; - bdfs[n++] = simple_strtoul(cnum, NULL, 16); + bdfs[n++] = hextoul(cnum, NULL); iold = i + 1; } } strcpy(cnum, &name[iold]); if (n == 0) n = 1; - bdfs[n] = simple_strtoul(cnum, NULL, 16); + bdfs[n] = hextoul(cnum, NULL); return PCI_BDF(bdfs[0], bdfs[1], bdfs[2]); } @@ -588,7 +588,7 @@ static int pci_cfg_modify(pci_dev_t bdf, ulong addr, ulong size, ulong value, #endif else { char *endp; - i = simple_strtoul(console_buffer, &endp, 16); + i = hextoul(console_buffer, &endp); nbytes = endp - console_buffer; if (nbytes) { /* good enough to not time out @@ -683,9 +683,9 @@ static int do_pci(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) cmd_size = cmd_get_data_size(argv[1], 4); size = (cmd_size == 4) ? PCI_SIZE_32 : cmd_size - 1; if (argc > 3) - addr = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); if (argc > 4) - value = simple_strtoul(argv[4], NULL, 16); + value = hextoul(argv[4], NULL); case 'h': /* header */ #ifdef CONFIG_DM_PCI case 'b': /* bars */ @@ -709,7 +709,7 @@ static int do_pci(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) argc--; } if (argc > 1) - busnum = simple_strtoul(argv[1], NULL, 16); + busnum = hextoul(argv[1], NULL); } #ifdef CONFIG_DM_PCI ret = uclass_get_device_by_seq(UCLASS_PCI, busnum, &bus); diff --git a/cmd/pstore.c b/cmd/pstore.c index 5656bae6d3..c6973aeb28 100644 --- a/cmd/pstore.c +++ b/cmd/pstore.c @@ -172,26 +172,26 @@ static int pstore_set(struct cmd_tbl *cmdtp, int flag, int argc, /* Address is specified since argc > 2 */ - pstore_addr = simple_strtoul(argv[1], NULL, 16); + pstore_addr = hextoul(argv[1], NULL); /* Length is specified since argc > 2 */ - pstore_length = simple_strtoul(argv[2], NULL, 16); + pstore_length = hextoul(argv[2], NULL); if (argc > 3) - pstore_record_size = simple_strtoul(argv[3], NULL, 16); + pstore_record_size = hextoul(argv[3], NULL); if (argc > 4) - pstore_console_size = simple_strtoul(argv[4], NULL, 16); + pstore_console_size = hextoul(argv[4], NULL); if (argc > 5) - pstore_ftrace_size = simple_strtoul(argv[5], NULL, 16); + pstore_ftrace_size = hextoul(argv[5], NULL); if (argc > 6) - pstore_pmsg_size = simple_strtoul(argv[6], NULL, 16); + pstore_pmsg_size = hextoul(argv[6], NULL); if (argc > 7) - pstore_ecc_size = simple_strtoul(argv[7], NULL, 16); + pstore_ecc_size = hextoul(argv[7], NULL); if (pstore_length < (pstore_record_size + pstore_console_size + pstore_ftrace_size + pstore_pmsg_size)) { diff --git a/cmd/pxe_utils.c b/cmd/pxe_utils.c index 9a30629e26..067c24e5ff 100644 --- a/cmd/pxe_utils.c +++ b/cmd/pxe_utils.c @@ -351,7 +351,7 @@ static void label_boot_fdtoverlay(struct cmd_tbl *cmdtp, struct pxe_label *label int err; /* Get the main fdt and map it */ - fdt_addr = simple_strtoul(env_get("fdt_addr_r"), NULL, 16); + fdt_addr = hextoul(env_get("fdt_addr_r"), NULL); working_fdt = map_sysmem(fdt_addr, 0); err = fdt_check_header(working_fdt); if (err) @@ -364,7 +364,7 @@ static void label_boot_fdtoverlay(struct cmd_tbl *cmdtp, struct pxe_label *label return; } - fdtoverlay_addr = simple_strtoul(fdtoverlay_addr_env, NULL, 16); + fdtoverlay_addr = hextoul(fdtoverlay_addr_env, NULL); /* Cycle over the overlay files and apply them in order */ do { diff --git a/cmd/qfw.c b/cmd/qfw.c index e6a9fdb2af..eb6a552f6f 100644 --- a/cmd/qfw.c +++ b/cmd/qfw.c @@ -120,7 +120,7 @@ static int qemu_fwcfg_do_load(struct cmd_tbl *cmdtp, int flag, env = env_get("loadaddr"); load_addr = env ? - (void *)simple_strtoul(env, NULL, 16) : + (void *)hextoul(env, NULL) : #ifdef CONFIG_LOADADDR (void *)CONFIG_LOADADDR; #else @@ -129,7 +129,7 @@ static int qemu_fwcfg_do_load(struct cmd_tbl *cmdtp, int flag, env = env_get("ramdiskaddr"); initrd_addr = env ? - (void *)simple_strtoul(env, NULL, 16) : + (void *)hextoul(env, NULL) : #ifdef CONFIG_RAMDISK_ADDR (void *)CONFIG_RAMDISK_ADDR; #else @@ -137,10 +137,10 @@ static int qemu_fwcfg_do_load(struct cmd_tbl *cmdtp, int flag, #endif if (argc == 2) { - load_addr = (void *)simple_strtoul(argv[0], NULL, 16); - initrd_addr = (void *)simple_strtoul(argv[1], NULL, 16); + load_addr = (void *)hextoul(argv[0], NULL); + initrd_addr = (void *)hextoul(argv[1], NULL); } else if (argc == 1) { - load_addr = (void *)simple_strtoul(argv[0], NULL, 16); + load_addr = (void *)hextoul(argv[0], NULL); } if (!load_addr || !initrd_addr) { diff --git a/cmd/read.c b/cmd/read.c index 34f53f9a29..99c7e3854e 100644 --- a/cmd/read.c +++ b/cmd/read.c @@ -30,13 +30,13 @@ int do_read(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; } - dev = (int)simple_strtoul(argv[2], &ep, 16); + dev = (int)hextoul(argv[2], &ep); if (*ep) { if (*ep != ':') { printf("Invalid block device %s\n", argv[2]); return 1; } - part = (int)simple_strtoul(++ep, NULL, 16); + part = (int)hextoul(++ep, NULL); } dev_desc = blk_get_dev(argv[1], dev); @@ -45,9 +45,9 @@ int do_read(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; } - addr = (void *)simple_strtoul(argv[3], NULL, 16); - blk = simple_strtoul(argv[4], NULL, 16); - cnt = simple_strtoul(argv[5], NULL, 16); + addr = (void *)hextoul(argv[3], NULL); + blk = hextoul(argv[4], NULL); + cnt = hextoul(argv[5], NULL); if (part != 0) { if (part_get_info(dev_desc, part, &part_info)) { diff --git a/cmd/reiser.c b/cmd/reiser.c index 3db926f806..707167fcd5 100644 --- a/cmd/reiser.c +++ b/cmd/reiser.c @@ -90,7 +90,7 @@ int do_reiserload(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) case 3: addr_str = env_get("loadaddr"); if (addr_str != NULL) { - addr = simple_strtoul (addr_str, NULL, 16); + addr = hextoul(addr_str, NULL); } else { addr = CONFIG_SYS_LOAD_ADDR; } @@ -98,19 +98,19 @@ int do_reiserload(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) count = 0; break; case 4: - addr = simple_strtoul (argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); filename = env_get("bootfile"); count = 0; break; case 5: - addr = simple_strtoul (argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); filename = argv[4]; count = 0; break; case 6: - addr = simple_strtoul (argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); filename = argv[4]; - count = simple_strtoul (argv[5], NULL, 16); + count = hextoul(argv[5], NULL); break; default: diff --git a/cmd/remoteproc.c b/cmd/remoteproc.c index b3ddcebe31..2a0e575971 100644 --- a/cmd/remoteproc.c +++ b/cmd/remoteproc.c @@ -130,9 +130,9 @@ static int do_remoteproc_load(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; id = (int)simple_strtoul(argv[1], NULL, 10); - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); - size = simple_strtoul(argv[3], NULL, 16); + size = hextoul(argv[3], NULL); if (!size) { printf("\t Expect some size??\n"); diff --git a/cmd/rng.c b/cmd/rng.c index 9747c11be4..1ad5a096c0 100644 --- a/cmd/rng.c +++ b/cmd/rng.c @@ -24,7 +24,7 @@ static int do_rng(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } if (argc >= 2) - n = simple_strtoul(argv[1], NULL, 16); + n = hextoul(argv[1], NULL); buf = malloc(n); if (!buf) { diff --git a/cmd/rtc.c b/cmd/rtc.c index b4f61b2e83..784879ec1a 100644 --- a/cmd/rtc.c +++ b/cmd/rtc.c @@ -18,13 +18,13 @@ static int do_rtc_read(struct udevice *dev, int argc, char * const argv[]) if (argc < 2 || argc > 3) return CMD_RET_USAGE; - reg = simple_strtoul(argv[0], NULL, 16); - len = simple_strtoul(argv[1], NULL, 16); + reg = hextoul(argv[0], NULL); + len = hextoul(argv[1], NULL); if (argc == 3) { u8 *addr; - addr = map_sysmem(simple_strtoul(argv[2], NULL, 16), len); + addr = map_sysmem(hextoul(argv[2], NULL), len); ret = dm_rtc_read(dev, reg, addr, len); unmap_sysmem(addr); if (ret) { @@ -59,13 +59,13 @@ static int do_rtc_write(struct udevice *dev, int argc, char * const argv[]) if (argc < 2 || argc > 3) return CMD_RET_USAGE; - reg = simple_strtoul(argv[0], NULL, 16); + reg = hextoul(argv[0], NULL); if (argc == 3) { u8 *addr; - len = simple_strtoul(argv[1], NULL, 16); - addr = map_sysmem(simple_strtoul(argv[2], NULL, 16), len); + len = hextoul(argv[1], NULL); + addr = map_sysmem(hextoul(argv[2], NULL), len); ret = dm_rtc_write(dev, reg, addr, len); unmap_sysmem(addr); if (ret) { diff --git a/cmd/setexpr.c b/cmd/setexpr.c index 1eb67e2eff..05d655809b 100644 --- a/cmd/setexpr.c +++ b/cmd/setexpr.c @@ -49,7 +49,7 @@ static int get_arg(char *s, int w, struct expr_arg *argp) int len; char *str; - addr = simple_strtoul(&s[1], NULL, 16); + addr = hextoul(&s[1], NULL); switch (w) { case 1: p = map_sysmem(addr, sizeof(uchar)); @@ -94,7 +94,7 @@ static int get_arg(char *s, int w, struct expr_arg *argp) } else { if (w == CMD_DATA_SIZE_STR) return -EINVAL; - arg.ival = simple_strtoul(s, NULL, 16); + arg.ival = hextoul(s, NULL); } *argp = arg; diff --git a/cmd/sf.c b/cmd/sf.c index 46346fb9d4..eac27ed2d7 100644 --- a/cmd/sf.c +++ b/cmd/sf.c @@ -54,7 +54,7 @@ static int sf_parse_len_arg(char *arg, ulong *len) ++arg; } - len_arg = simple_strtoul(arg, &ep, 16); + len_arg = hextoul(arg, &ep); if (ep == arg || *ep != '\0') return -1; @@ -119,7 +119,7 @@ static int do_spi_flash_probe(int argc, char *const argv[]) return -1; } if (argc >= 4) { - mode = simple_strtoul(argv[3], &endp, 16); + mode = hextoul(argv[3], &endp); if (*argv[3] == 0 || *endp != 0) return -1; } @@ -272,7 +272,7 @@ static int do_spi_flash_read_write(int argc, char *const argv[]) if (argc < 3) return -1; - addr = simple_strtoul(argv[1], &endp, 16); + addr = hextoul(argv[1], &endp); if (*argv[1] == 0 || *endp != 0) return -1; @@ -517,10 +517,10 @@ static int do_spi_flash_test(int argc, char *const argv[]) if (argc < 3) return -1; - offset = simple_strtoul(argv[1], &endp, 16); + offset = hextoul(argv[1], &endp); if (*argv[1] == 0 || *endp != 0) return -1; - len = simple_strtoul(argv[2], &endp, 16); + len = hextoul(argv[2], &endp); if (*argv[2] == 0 || *endp != 0) return -1; diff --git a/cmd/smccc.c b/cmd/smccc.c index 0ff9a08021..f527181772 100644 --- a/cmd/smccc.c +++ b/cmd/smccc.c @@ -28,15 +28,15 @@ static int do_call(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - fid = simple_strtoul(argv[1], NULL, 16); + fid = hextoul(argv[1], NULL); - a1 = argc > 2 ? simple_strtoul(argv[2], NULL, 16) : 0; - a2 = argc > 3 ? simple_strtoul(argv[3], NULL, 16) : 0; - a3 = argc > 4 ? simple_strtoul(argv[4], NULL, 16) : 0; - a4 = argc > 5 ? simple_strtoul(argv[5], NULL, 16) : 0; - a5 = argc > 6 ? simple_strtoul(argv[6], NULL, 16) : 0; - a6 = argc > 7 ? simple_strtoul(argv[7], NULL, 16) : 0; - a7 = argc > 8 ? simple_strtoul(argv[8], NULL, 16) : 0; + a1 = argc > 2 ? hextoul(argv[2], NULL) : 0; + a2 = argc > 3 ? hextoul(argv[3], NULL) : 0; + a3 = argc > 4 ? hextoul(argv[4], NULL) : 0; + a4 = argc > 5 ? hextoul(argv[5], NULL) : 0; + a5 = argc > 6 ? hextoul(argv[6], NULL) : 0; + a6 = argc > 7 ? hextoul(argv[7], NULL) : 0; + a7 = argc > 8 ? hextoul(argv[8], NULL) : 0; if (!strcmp(argv[0], "smc")) arm_smccc_smc(fid, a1, a2, a3, a4, a5, a6, a7, &res); diff --git a/cmd/source.c b/cmd/source.c index 71f71528ad..81e015b64e 100644 --- a/cmd/source.c +++ b/cmd/source.c @@ -179,7 +179,7 @@ static int do_source(struct cmd_tbl *cmdtp, int flag, int argc, fit_uname, addr); #endif } else { - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); debug("* source: cmdline image address = 0x%08lx\n", addr); } diff --git a/cmd/strings.c b/cmd/strings.c index 85fdc34f08..bf348afce8 100644 --- a/cmd/strings.c +++ b/cmd/strings.c @@ -18,9 +18,9 @@ int do_strings(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return CMD_RET_USAGE; if ((flag & CMD_FLAG_REPEAT) == 0) { - start_addr = (char *)simple_strtoul(argv[1], NULL, 16); + start_addr = (char *)hextoul(argv[1], NULL); if (argc > 2) - last_addr = (char *)simple_strtoul(argv[2], NULL, 16); + last_addr = (char *)hextoul(argv[2], NULL); else last_addr = (char *)-1; } diff --git a/cmd/ti/ddr3.c b/cmd/ti/ddr3.c index 6b43a73868..be937a7531 100644 --- a/cmd/ti/ddr3.c +++ b/cmd/ti/ddr3.c @@ -290,8 +290,8 @@ static int do_ddr_test(struct cmd_tbl *cmdtp, return CMD_RET_FAILURE; } - start_addr = simple_strtoul(argv[2], NULL, 16); - ecc_err = simple_strtoul(argv[3], NULL, 16); + start_addr = hextoul(argv[2], NULL); + ecc_err = hextoul(argv[3], NULL); if (!is_addr_valid(start_addr)) { puts("Invalid address. Please enter ECC supported address!\n"); @@ -306,8 +306,8 @@ static int do_ddr_test(struct cmd_tbl *cmdtp, ((argc == 5) && (strncmp(argv[1], "compare", 8) == 0)))) return cmd_usage(cmdtp); - start_addr = simple_strtoul(argv[2], NULL, 16); - end_addr = simple_strtoul(argv[3], NULL, 16); + start_addr = hextoul(argv[2], NULL); + end_addr = hextoul(argv[3], NULL); if ((start_addr < CONFIG_SYS_SDRAM_BASE) || (start_addr > (CONFIG_SYS_SDRAM_BASE + @@ -321,7 +321,7 @@ static int do_ddr_test(struct cmd_tbl *cmdtp, puts("Please wait ...\n"); if (argc == 5) { - size = simple_strtoul(argv[4], NULL, 16); + size = hextoul(argv[4], NULL); ddr_memory_compare(start_addr, end_addr, size); } else { ddr_memory_test(start_addr, end_addr, 0); diff --git a/cmd/tlv_eeprom.c b/cmd/tlv_eeprom.c index 5099cbdd95..2b643f9587 100644 --- a/cmd/tlv_eeprom.c +++ b/cmd/tlv_eeprom.c @@ -751,7 +751,7 @@ static int set_mac(char *buf, const char *string) /* Convert string to binary */ for (i = 0, p = (char *)string; i < 6; i++) { - buf[i] = p ? simple_strtoul(p, &end, 16) : 0; + buf[i] = p ? hextoul(p, &end) : 0; if (p) p = (*end) ? end + 1 : end; } diff --git a/cmd/tpm-common.c b/cmd/tpm-common.c index 88c9e08e31..a48c060273 100644 --- a/cmd/tpm-common.c +++ b/cmd/tpm-common.c @@ -68,7 +68,7 @@ void *parse_byte_string(char *bytes, u8 *data, size_t *count_ptr) for (i = 0; i < length; i += 2) { byte[0] = bytes[i]; byte[1] = bytes[i + 1]; - data[i / 2] = (u8)simple_strtoul(byte, NULL, 16); + data[i / 2] = (u8)hextoul(byte, NULL); } if (count_ptr) diff --git a/cmd/trace.c b/cmd/trace.c index 4ce47c7627..2e3ee1d3ba 100644 --- a/cmd/trace.c +++ b/cmd/trace.c @@ -21,8 +21,8 @@ static int get_args(int argc, char *const argv[], char **buff, *buff_size); *buff_ptr = env_get_ulong("profoffset", 16, 0); } else { - *buff_size = simple_strtoul(argv[3], NULL, 16); - *buff = map_sysmem(simple_strtoul(argv[2], NULL, 16), + *buff_size = hextoul(argv[3], NULL); + *buff = map_sysmem(hextoul(argv[2], NULL), *buff_size); *buff_ptr = 0; }; diff --git a/cmd/tsi148.c b/cmd/tsi148.c index 2eae14f87f..0d849d9979 100644 --- a/cmd/tsi148.c +++ b/cmd/tsi148.c @@ -392,15 +392,15 @@ int do_tsi148(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc > 1) cmd = argv[1][0]; if (argc > 2) - addr1 = simple_strtoul(argv[2], NULL, 16); + addr1 = hextoul(argv[2], NULL); if (argc > 3) - addr2 = simple_strtoul(argv[3], NULL, 16); + addr2 = hextoul(argv[3], NULL); if (argc > 4) - size = simple_strtoul(argv[4], NULL, 16); + size = hextoul(argv[4], NULL); if (argc > 5) - vam = simple_strtoul(argv[5], NULL, 16); + vam = hextoul(argv[5], NULL); if (argc > 6) - vdw = simple_strtoul(argv[6], NULL, 16); + vdw = hextoul(argv[6], NULL); switch (cmd) { case 'c': diff --git a/cmd/ubi.c b/cmd/ubi.c index cb14e3e1e7..fe8ac58bac 100644 --- a/cmd/ubi.c +++ b/cmd/ubi.c @@ -661,8 +661,8 @@ static int do_ubi(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return 1; } - addr = simple_strtoul(argv[2], NULL, 16); - size = simple_strtoul(argv[4], NULL, 16); + addr = hextoul(argv[2], NULL); + size = hextoul(argv[4], NULL); if (strlen(argv[1]) == 10 && strncmp(argv[1] + 5, ".part", 5) == 0) { @@ -671,7 +671,7 @@ static int do_ubi(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) (void *)addr, size); } else { size_t full_size; - full_size = simple_strtoul(argv[5], NULL, 16); + full_size = hextoul(argv[5], NULL); ret = ubi_volume_begin_write(argv[3], (void *)addr, size, full_size); } @@ -691,13 +691,13 @@ static int do_ubi(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) /* E.g., read volume size */ if (argc == 5) { - size = simple_strtoul(argv[4], NULL, 16); + size = hextoul(argv[4], NULL); argc--; } /* E.g., read volume */ if (argc == 4) { - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); argc--; } diff --git a/cmd/ubifs.c b/cmd/ubifs.c index a26b653d61..7a620c5e21 100644 --- a/cmd/ubifs.c +++ b/cmd/ubifs.c @@ -122,14 +122,14 @@ static int do_ubifs_load(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 3) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], &endp, 16); + addr = hextoul(argv[1], &endp); if (endp == argv[1]) return CMD_RET_USAGE; filename = argv[2]; if (argc == 4) { - size = simple_strtoul(argv[3], &endp, 16); + size = hextoul(argv[3], &endp); if (endp == argv[3]) return CMD_RET_USAGE; } diff --git a/cmd/universe.c b/cmd/universe.c index 5ff47dde4f..fb3a32d4d5 100644 --- a/cmd/universe.c +++ b/cmd/universe.c @@ -307,17 +307,17 @@ int do_universe(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) if (argc > 1) cmd = argv[1][0]; if (argc > 2) - addr1 = simple_strtoul(argv[2], NULL, 16); + addr1 = hextoul(argv[2], NULL); if (argc > 3) - addr2 = simple_strtoul(argv[3], NULL, 16); + addr2 = hextoul(argv[3], NULL); if (argc > 4) - size = simple_strtoul(argv[4], NULL, 16); + size = hextoul(argv[4], NULL); if (argc > 5) - vam = simple_strtoul(argv[5], NULL, 16); + vam = hextoul(argv[5], NULL); if (argc > 6) - pms = simple_strtoul(argv[6], NULL, 16); + pms = hextoul(argv[6], NULL); if (argc > 7) - vdw = simple_strtoul(argv[7], NULL, 16); + vdw = hextoul(argv[7], NULL); switch (cmd) { case 'i': /* init */ diff --git a/cmd/unlz4.c b/cmd/unlz4.c index 4ae7f34d36..323ab46717 100644 --- a/cmd/unlz4.c +++ b/cmd/unlz4.c @@ -18,9 +18,9 @@ static int do_unlz4(struct cmd_tbl *cmdtp, int flag, int argc, switch (argc) { case 4: - src = simple_strtoul(argv[1], NULL, 16); - dst = simple_strtoul(argv[2], NULL, 16); - dst_len = simple_strtoul(argv[3], NULL, 16); + src = hextoul(argv[1], NULL); + dst = hextoul(argv[2], NULL); + dst_len = hextoul(argv[3], NULL); break; default: return CMD_RET_USAGE; diff --git a/cmd/unzip.c b/cmd/unzip.c index 9b28328a1d..3d1f5f3ac1 100644 --- a/cmd/unzip.c +++ b/cmd/unzip.c @@ -18,11 +18,11 @@ static int do_unzip(struct cmd_tbl *cmdtp, int flag, int argc, switch (argc) { case 4: - dst_len = simple_strtoul(argv[3], NULL, 16); + dst_len = hextoul(argv[3], NULL); /* fall through */ case 3: - src = simple_strtoul(argv[1], NULL, 16); - dst = simple_strtoul(argv[2], NULL, 16); + src = hextoul(argv[1], NULL); + dst = hextoul(argv[2], NULL); break; default: return CMD_RET_USAGE; @@ -60,11 +60,11 @@ static int do_gzwrite(struct cmd_tbl *cmdtp, int flag, if (ret < 0) return CMD_RET_FAILURE; - addr = (unsigned char *)simple_strtoul(argv[3], NULL, 16); - length = simple_strtoul(argv[4], NULL, 16); + addr = (unsigned char *)hextoul(argv[3], NULL); + length = hextoul(argv[4], NULL); if (5 < argc) { - writebuf = simple_strtoul(argv[5], NULL, 16); + writebuf = hextoul(argv[5], NULL); if (6 < argc) { startoffs = simple_strtoull(argv[6], NULL, 16); if (7 < argc) diff --git a/cmd/x86/mtrr.c b/cmd/x86/mtrr.c index fc61a549b0..b213a942fd 100644 --- a/cmd/x86/mtrr.c +++ b/cmd/x86/mtrr.c @@ -78,8 +78,8 @@ static int do_mtrr_set(int cpu_select, uint reg, int argc, char *const argv[]) printf("Invalid type name %s\n", typename); return CMD_RET_USAGE; } - start = simple_strtoul(argv[1], NULL, 16); - size = simple_strtoul(argv[2], NULL, 16); + start = hextoul(argv[1], NULL); + size = hextoul(argv[2], NULL); base = start | type; valid = native_read_msr(MTRR_PHYS_MASK_MSR(reg)) & MTRR_PHYS_MASK_VALID; @@ -126,7 +126,7 @@ static int do_mtrr(struct cmd_tbl *cmdtp, int flag, int argc, if (cmd != 'l') { if (argc < 2) return CMD_RET_USAGE; - reg = simple_strtoul(argv[1], NULL, 16); + reg = hextoul(argv[1], NULL); if (reg >= reg_count) { printf("Invalid register number\n"); return CMD_RET_USAGE; diff --git a/cmd/ximg.c b/cmd/ximg.c index ef738ebfa2..65ba41320a 100644 --- a/cmd/ximg.c +++ b/cmd/ximg.c @@ -59,16 +59,16 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) verify = env_get_yesno("verify"); if (argc > 1) { - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); } if (argc > 2) { - part = simple_strtoul(argv[2], NULL, 16); + part = hextoul(argv[2], NULL); #if defined(CONFIG_FIT) uname = argv[2]; #endif } if (argc > 3) { - dest = simple_strtoul(argv[3], NULL, 16); + dest = hextoul(argv[3], NULL); } switch (genimg_get_format((void *)addr)) { diff --git a/cmd/yaffs2.c b/cmd/yaffs2.c index f29ebcc026..27fbd1be8f 100644 --- a/cmd/yaffs2.c +++ b/cmd/yaffs2.c @@ -165,8 +165,8 @@ int do_ywr(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } filename = argv[1]; - value = simple_strtoul(argv[2], NULL, 16); - numValues = simple_strtoul(argv[3], NULL, 16); + value = hextoul(argv[2], NULL); + numValues = hextoul(argv[3], NULL); printf("Writing value (%lx) %lx times to %s... ", value, numValues, filename); @@ -188,7 +188,7 @@ int do_yrdm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } filename = argv[1]; - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); cmd_yaffs_mread_file(filename, (char *)addr); @@ -207,8 +207,8 @@ int do_ywrm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) } filename = argv[1]; - addr = simple_strtoul(argv[2], NULL, 16); - size = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[2], NULL); + size = hextoul(argv[3], NULL); cmd_yaffs_mwrite_file(filename, (char *)addr, size); diff --git a/cmd/zfs.c b/cmd/zfs.c index e429ac88d7..6ef1b56ab1 100644 --- a/cmd/zfs.c +++ b/cmd/zfs.c @@ -50,13 +50,13 @@ static int do_zfs_load(struct cmd_tbl *cmdtp, int flag, int argc, return CMD_RET_USAGE; count = 0; - addr = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); filename = env_get("bootfile"); switch (argc) { case 3: addr_str = env_get("loadaddr"); if (addr_str != NULL) - addr = simple_strtoul(addr_str, NULL, 16); + addr = hextoul(addr_str, NULL); else addr = CONFIG_SYS_LOAD_ADDR; @@ -68,7 +68,7 @@ static int do_zfs_load(struct cmd_tbl *cmdtp, int flag, int argc, break; case 6: filename = argv[4]; - count = simple_strtoul(argv[5], NULL, 16); + count = hextoul(argv[5], NULL); break; default: diff --git a/cmd/zip.c b/cmd/zip.c index 8ad3768464..08afd62b97 100644 --- a/cmd/zip.c +++ b/cmd/zip.c @@ -16,12 +16,12 @@ static int do_zip(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) switch (argc) { case 5: - dst_len = simple_strtoul(argv[4], NULL, 16); + dst_len = hextoul(argv[4], NULL); /* fall through */ case 4: - src = simple_strtoul(argv[1], NULL, 16); - src_len = simple_strtoul(argv[2], NULL, 16); - dst = simple_strtoul(argv[3], NULL, 16); + src = hextoul(argv[1], NULL); + src_len = hextoul(argv[2], NULL); + dst = hextoul(argv[3], NULL); break; default: return cmd_usage(cmdtp); diff --git a/common/bedbug.c b/common/bedbug.c index 18a35ca23e..6e1fb58080 100644 --- a/common/bedbug.c +++ b/common/bedbug.c @@ -1005,7 +1005,7 @@ long read_number (char *txt) } if (txt[0] == '0' && (txt[1] == 'x' || txt[1] == 'X')) /* hex */ - val = simple_strtoul (&txt[2], NULL, 16); + val = hextoul(&txt[2], NULL); else /* decimal */ val = simple_strtoul (txt, NULL, 10); diff --git a/common/bootm_os.c b/common/bootm_os.c index 0b6325db66..d635037064 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -238,7 +238,7 @@ static int do_bootm_plan9(int flag, int argc, char *const argv[], /* See README.plan9 */ s = env_get("confaddr"); if (s != NULL) { - char *confaddr = (char *)simple_strtoul(s, NULL, 16); + char *confaddr = (char *)hextoul(s, NULL); if (argc > 0) { copy_args(confaddr, argc, argv, '\n'); @@ -360,8 +360,7 @@ int do_bootm_vxworks(int flag, int argc, char *const argv[], /* find f=0xnumber flag */ if ((bootargs[pos] == '=') && (pos >= 1) && (bootargs[pos - 1] == 'f')) { - vxflags = simple_strtoul(&bootargs[pos + 1], - NULL, 16); + vxflags = hextoul(&bootargs[pos + 1], NULL); if (vxflags & VXWORKS_SYSFLG_STD_DTB) std_dtb = true; } diff --git a/common/fdt_support.c b/common/fdt_support.c index 240f1e57d1..4341d84bd5 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -579,7 +579,7 @@ void fdt_fixup_ethernet(void *fdt) for (j = 0; j < 6; j++) { mac_addr[j] = tmp ? - simple_strtoul(tmp, &end, 16) : 0; + hextoul(tmp, &end) : 0; if (tmp) tmp = (*end) ? end + 1 : end; } diff --git a/common/hash.c b/common/hash.c index 059d381e23..dca23635ab 100644 --- a/common/hash.c +++ b/common/hash.c @@ -397,7 +397,7 @@ int hash_parse_string(const char *algo_name, const char *str, uint8_t *result) char chr[3]; strlcpy(chr, &str[i * 2], 3); - result[i] = simple_strtoul(chr, NULL, 16); + result[i] = hextoul(chr, NULL); } return 0; @@ -470,7 +470,7 @@ static void store_result(struct hash_algo *algo, const uint8_t *sum, ulong addr; void *buf; - addr = simple_strtoul(dest, NULL, 16); + addr = hextoul(dest, NULL); buf = map_sysmem(addr, algo->digest_size); memcpy(buf, sum, algo->digest_size); unmap_sysmem(buf); @@ -510,7 +510,7 @@ static int parse_verify_sum(struct hash_algo *algo, char *verify_str, ulong addr; void *buf; - addr = simple_strtoul(verify_str, NULL, 16); + addr = hextoul(verify_str, NULL); buf = map_sysmem(addr, algo->digest_size); memcpy(vsum, buf, algo->digest_size); } else { @@ -555,8 +555,8 @@ int hash_command(const char *algo_name, int flags, struct cmd_tbl *cmdtp, if ((argc < 2) || ((flags & HASH_FLAG_VERIFY) && (argc < 3))) return CMD_RET_USAGE; - addr = simple_strtoul(*argv++, NULL, 16); - len = simple_strtoul(*argv++, NULL, 16); + addr = hextoul(*argv++, NULL); + len = hextoul(*argv++, NULL); if (multi_hash()) { struct hash_algo *algo; @@ -628,7 +628,7 @@ int hash_command(const char *algo_name, int flags, struct cmd_tbl *cmdtp, addr, addr + len - 1, crc); if (argc >= 3) { - ptr = (ulong *)simple_strtoul(argv[0], NULL, 16); + ptr = (ulong *)hextoul(argv[0], NULL); *ptr = crc; } } diff --git a/common/image-fdt.c b/common/image-fdt.c index 06dce92a28..9441e63a3d 100644 --- a/common/image-fdt.c +++ b/common/image-fdt.c @@ -186,7 +186,7 @@ int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size) /* If fdt_high is set use it to select the relocation address */ fdt_high = env_get("fdt_high"); if (fdt_high) { - void *desired_addr = (void *)simple_strtoul(fdt_high, NULL, 16); + void *desired_addr = (void *)hextoul(fdt_high, NULL); if (((ulong) desired_addr) == ~0UL) { /* All ones means use fdt in place */ @@ -297,7 +297,7 @@ int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch, *of_size = 0; img_addr = (argc == 0) ? image_load_addr : - simple_strtoul(argv[0], NULL, 16); + hextoul(argv[0], NULL); buf = map_sysmem(img_addr, 0); if (argc > 2) @@ -329,7 +329,7 @@ int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch, } else #endif { - fdt_addr = simple_strtoul(select, NULL, 16); + fdt_addr = hextoul(select, NULL); debug("* fdt: cmdline image address = 0x%08lx\n", fdt_addr); } diff --git a/common/image-fit.c b/common/image-fit.c index d6b2c3c7ec..aff4670be3 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -53,7 +53,7 @@ static int fit_parse_spec(const char *spec, char sepc, ulong addr_curr, sep = strchr(spec, sepc); if (sep) { if (sep - spec > 0) - *addr = simple_strtoul(spec, NULL, 16); + *addr = hextoul(spec, NULL); *name = sep + 1; return 1; diff --git a/common/image.c b/common/image.c index 51854aae5d..59c52a1f9a 100644 --- a/common/image.c +++ b/common/image.c @@ -662,7 +662,7 @@ static int on_loadaddr(const char *name, const char *value, enum env_op op, switch (op) { case env_op_create: case env_op_overwrite: - image_load_addr = simple_strtoul(value, NULL, 16); + image_load_addr = hextoul(value, NULL); break; default: break; @@ -676,7 +676,7 @@ ulong env_get_bootm_low(void) { char *s = env_get("bootm_low"); if (s) { - ulong tmp = simple_strtoul(s, NULL, 16); + ulong tmp = hextoul(s, NULL); return tmp; } @@ -1060,7 +1060,7 @@ ulong genimg_get_kernel_addr_fit(char * const img_addr, *fit_uname_kernel, kernel_addr); #endif } else { - kernel_addr = simple_strtoul(img_addr, NULL, 16); + kernel_addr = hextoul(img_addr, NULL); debug("* kernel: cmdline image address = 0x%08lx\n", kernel_addr); } @@ -1227,7 +1227,7 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images, } else #endif { - rd_addr = simple_strtoul(select, NULL, 16); + rd_addr = hextoul(select, NULL); debug("* ramdisk: cmdline image address = " "0x%08lx\n", rd_addr); @@ -1301,7 +1301,7 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images, if (select) end = strchr(select, ':'); if (end) { - rd_len = simple_strtoul(++end, NULL, 16); + rd_len = hextoul(++end, NULL); rd_data = rd_addr; } else #endif @@ -1379,7 +1379,7 @@ int boot_ramdisk_high(struct lmb *lmb, ulong rd_data, ulong rd_len, /* a value of "no" or a similar string will act like 0, * turning the "load high" feature off. This is intentional. */ - initrd_high = simple_strtoul(s, NULL, 16); + initrd_high = hextoul(s, NULL); if (initrd_high == ~0) initrd_copy_to_ram = 0; } else { diff --git a/common/kallsyms.c b/common/kallsyms.c index ce42a932bb..13344e634b 100644 --- a/common/kallsyms.c +++ b/common/kallsyms.c @@ -31,7 +31,7 @@ const char *symbol_lookup(unsigned long addr, unsigned long *caddr) *caddr = 0; while (*sym) { - sym_addr = simple_strtoul(sym, &esym, 16); + sym_addr = hextoul(sym, &esym); sym = esym; if (sym_addr > addr) break; diff --git a/common/lcd.c b/common/lcd.c index ab5614ad0e..16a0a7cea8 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -747,7 +747,7 @@ static int on_splashimage(const char *name, const char *value, enum env_op op, if (op == env_op_delete) return 0; - addr = simple_strtoul(value, NULL, 16); + addr = hextoul(value, NULL); /* See README.displaying-bmps */ aligned = (addr % 4 == 2); if (!aligned) { diff --git a/common/splash.c b/common/splash.c index 2b9313e03f..de720df9f5 100644 --- a/common/splash.c +++ b/common/splash.c @@ -65,7 +65,7 @@ static int splash_video_logo_load(void) if (!splashimage) return -ENOENT; - bmp_load_addr = simple_strtoul(splashimage, 0, 16); + bmp_load_addr = hextoul(splashimage, 0); if (!bmp_load_addr) { printf("Error: bad 'splashimage' address\n"); return -EFAULT; @@ -162,7 +162,7 @@ int splash_display(void) if (!s) return -EINVAL; - addr = simple_strtoul(s, NULL, 16); + addr = hextoul(s, NULL); ret = splash_screen_prepare(); if (ret) return ret; diff --git a/common/splash_source.c b/common/splash_source.c index 3cf926d91a..d05670f5ee 100644 --- a/common/splash_source.c +++ b/common/splash_source.c @@ -414,7 +414,7 @@ int splash_source_load(struct splash_location *locations, uint size) if (env_splashimage_value == NULL) return -ENOENT; - bmp_load_addr = simple_strtoul(env_splashimage_value, 0, 16); + bmp_load_addr = hextoul(env_splashimage_value, 0); if (bmp_load_addr == 0) { printf("Error: bad splashimage address specified\n"); return -EFAULT; diff --git a/common/update.c b/common/update.c index f0848954e5..f5c8684f1b 100644 --- a/common/update.c +++ b/common/update.c @@ -272,7 +272,7 @@ int update_tftp(ulong addr, char *interface, char *devstring) /* get load address of downloaded update file */ env_addr = env_get("loadaddr"); if (env_addr) - addr = simple_strtoul(env_addr, NULL, 16); + addr = hextoul(env_addr, NULL); else addr = CONFIG_UPDATE_LOAD_ADDR; diff --git a/disk/part.c b/disk/part.c index 086da84b7f..a6a8f7052b 100644 --- a/disk/part.c +++ b/disk/part.c @@ -396,7 +396,7 @@ int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str, hwpart = 0; } - dev = simple_strtoul(dev_str, &ep, 16); + dev = hextoul(dev_str, &ep); if (*ep) { printf("** Bad device specification %s %s **\n", ifname, dev_str); @@ -405,7 +405,7 @@ int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str, } if (hwpart_str) { - hwpart = simple_strtoul(hwpart_str, &ep, 16); + hwpart = hextoul(hwpart_str, &ep); if (*ep) { printf("** Bad HW partition specification %s %s **\n", ifname, hwpart_str); @@ -534,7 +534,7 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str, part = PART_AUTO; } else { /* Something specified -> use exactly that */ - part = (int)simple_strtoul(part_str, &ep, 16); + part = (int)hextoul(part_str, &ep); /* * Less than whole string converted, * or request for whole device, but caller requires partition. diff --git a/drivers/dfu/dfu_mtd.c b/drivers/dfu/dfu_mtd.c index 894b570875..a31d4804be 100644 --- a/drivers/dfu/dfu_mtd.c +++ b/drivers/dfu/dfu_mtd.c @@ -268,9 +268,9 @@ int dfu_fill_entity_mtd(struct dfu_entity *dfu, char *devstr, char *s) st = strsep(&s, " "); if (!strcmp(st, "raw")) { dfu->layout = DFU_RAW_ADDR; - dfu->data.mtd.start = simple_strtoul(s, &s, 16); + dfu->data.mtd.start = hextoul(s, &s); s++; - dfu->data.mtd.size = simple_strtoul(s, &s, 16); + dfu->data.mtd.size = hextoul(s, &s); } else if ((!strcmp(st, "part")) || (!strcmp(st, "partubi"))) { char mtd_id[32]; struct mtd_device *mtd_dev; diff --git a/drivers/dfu/dfu_nand.c b/drivers/dfu/dfu_nand.c index b8d24d203b..6ddf80b78a 100644 --- a/drivers/dfu/dfu_nand.c +++ b/drivers/dfu/dfu_nand.c @@ -204,9 +204,9 @@ int dfu_fill_entity_nand(struct dfu_entity *dfu, char *devstr, char *s) st = strsep(&s, " "); if (!strcmp(st, "raw")) { dfu->layout = DFU_RAW_ADDR; - dfu->data.nand.start = simple_strtoul(s, &s, 16); + dfu->data.nand.start = hextoul(s, &s); s++; - dfu->data.nand.size = simple_strtoul(s, &s, 16); + dfu->data.nand.size = hextoul(s, &s); } else if ((!strcmp(st, "part")) || (!strcmp(st, "partubi"))) { char mtd_id[32]; struct mtd_device *mtd_dev; diff --git a/drivers/dfu/dfu_ram.c b/drivers/dfu/dfu_ram.c index ab0ce9e6fa..cc7e45ba33 100644 --- a/drivers/dfu/dfu_ram.c +++ b/drivers/dfu/dfu_ram.c @@ -74,8 +74,8 @@ int dfu_fill_entity_ram(struct dfu_entity *dfu, char *devstr, char *s) } dfu->layout = DFU_RAM_ADDR; - dfu->data.ram.start = simple_strtoul(argv[1], NULL, 16); - dfu->data.ram.size = simple_strtoul(argv[2], NULL, 16); + dfu->data.ram.start = hextoul(argv[1], NULL); + dfu->data.ram.size = hextoul(argv[2], NULL); dfu->write_medium = dfu_write_medium_ram; dfu->get_medium_size = dfu_get_medium_size_ram; diff --git a/drivers/dfu/dfu_sf.c b/drivers/dfu/dfu_sf.c index 8f8c425977..ef5231980e 100644 --- a/drivers/dfu/dfu_sf.c +++ b/drivers/dfu/dfu_sf.c @@ -171,9 +171,9 @@ int dfu_fill_entity_sf(struct dfu_entity *dfu, char *devstr, char *s) st = strsep(&s, " "); if (!strcmp(st, "raw")) { dfu->layout = DFU_RAW_ADDR; - dfu->data.sf.start = simple_strtoul(s, &s, 16); + dfu->data.sf.start = hextoul(s, &s); s++; - dfu->data.sf.size = simple_strtoul(s, &s, 16); + dfu->data.sf.size = hextoul(s, &s); } else if (CONFIG_IS_ENABLED(DFU_SF_PART) && (!strcmp(st, "part") || !strcmp(st, "partubi"))) { char mtd_id[32]; diff --git a/drivers/fastboot/fb_command.c b/drivers/fastboot/fb_command.c index 3a5db5b08f..98eccc3455 100644 --- a/drivers/fastboot/fb_command.c +++ b/drivers/fastboot/fb_command.c @@ -208,7 +208,7 @@ static void download(char *cmd_parameter, char *response) return; } fastboot_bytes_received = 0; - fastboot_bytes_expected = simple_strtoul(cmd_parameter, &tmp, 16); + fastboot_bytes_expected = hextoul(cmd_parameter, &tmp); if (fastboot_bytes_expected == 0) { fastboot_fail("Expected nonzero image size", response); return; diff --git a/drivers/gpio/pca953x.c b/drivers/gpio/pca953x.c index 4ab8cee2d1..2fd2996798 100644 --- a/drivers/gpio/pca953x.c +++ b/drivers/gpio/pca953x.c @@ -221,11 +221,11 @@ static int do_pca953x(struct cmd_tbl *cmdtp, int flag, int argc, /* arg2 used as chip number or pin number */ if (argc > 2) - ul_arg2 = simple_strtoul(argv[2], NULL, 16); + ul_arg2 = hextoul(argv[2], NULL); /* arg3 used as pin or invert value */ if (argc > 3) - ul_arg3 = simple_strtoul(argv[3], NULL, 16) & 0x1; + ul_arg3 = hextoul(argv[3], NULL) & 0x1; switch ((long)c->cmd) { case PCA953X_CMD_INFO: diff --git a/drivers/misc/ds4510.c b/drivers/misc/ds4510.c index a2a5291565..9340596f2c 100644 --- a/drivers/misc/ds4510.c +++ b/drivers/misc/ds4510.c @@ -271,11 +271,11 @@ int do_ds4510(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) /* arg2 used as chip addr and pin number */ if (argc > 2) - ul_arg2 = simple_strtoul(argv[2], NULL, 16); + ul_arg2 = hextoul(argv[2], NULL); /* arg3 used as output/pullup value */ if (argc > 3) - ul_arg3 = simple_strtoul(argv[3], NULL, 16); + ul_arg3 = hextoul(argv[3], NULL); switch ((int)c->cmd) { case DS4510_CMD_DEVICE: @@ -337,9 +337,9 @@ int do_ds4510(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) else return cmd_usage(cmdtp); - addr = simple_strtoul(argv[3], NULL, 16); - off += simple_strtoul(argv[4], NULL, 16); - cnt = simple_strtoul(argv[5], NULL, 16); + addr = hextoul(argv[3], NULL); + off += hextoul(argv[4], NULL); + cnt = hextoul(argv[5], NULL); if ((off + cnt) > end) { printf("ERROR: invalid len\n"); diff --git a/drivers/net/e1000_spi.c b/drivers/net/e1000_spi.c index 4fcc65d978..69adf282c7 100644 --- a/drivers/net/e1000_spi.c +++ b/drivers/net/e1000_spi.c @@ -399,7 +399,7 @@ static int do_e1000_spi_dump(struct cmd_tbl *cmdtp, struct e1000_hw *hw, } /* Parse the arguments */ - dest = (void *)simple_strtoul(argv[0], NULL, 16); + dest = (void *)hextoul(argv[0], NULL); offset = simple_strtoul(argv[1], NULL, 0); length = simple_strtoul(argv[2], NULL, 0); @@ -444,7 +444,7 @@ static int do_e1000_spi_program(struct cmd_tbl *cmdtp, struct e1000_hw *hw, } /* Parse the arguments */ - source = (const void *)simple_strtoul(argv[0], NULL, 16); + source = (const void *)hextoul(argv[0], NULL); offset = simple_strtoul(argv[1], NULL, 0); length = simple_strtoul(argv[2], NULL, 0); diff --git a/drivers/net/fm/fdt.c b/drivers/net/fm/fdt.c index 242d27a34e..3855d7d58f 100644 --- a/drivers/net/fm/fdt.c +++ b/drivers/net/fm/fdt.c @@ -42,7 +42,7 @@ void fdt_fixup_fman_firmware(void *blob) if (!p) return; - fmanfw = (struct qe_firmware *)simple_strtoul(p, NULL, 16); + fmanfw = (struct qe_firmware *)hextoul(p, NULL); if (!fmanfw) return; diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index 914ec001ec..3712221eba 100644 --- a/drivers/net/fsl-mc/mc.c +++ b/drivers/net/fsl-mc/mc.c @@ -956,8 +956,7 @@ unsigned long mc_get_dram_block_size(void) char *dram_block_size_env_var = env_get(MC_MEM_SIZE_ENV_VAR); if (dram_block_size_env_var) { - dram_block_size = simple_strtoul(dram_block_size_env_var, NULL, - 16); + dram_block_size = hextoul(dram_block_size_env_var, NULL); if (dram_block_size < CONFIG_SYS_LS_MC_DRAM_BLOCK_MIN_SIZE) { printf("fsl-mc: WARNING: Invalid value for \'" diff --git a/drivers/net/pfe_eth/pfe_cmd.c b/drivers/net/pfe_eth/pfe_cmd.c index 364750f65c..2fe0db0fe7 100644 --- a/drivers/net/pfe_eth/pfe_cmd.c +++ b/drivers/net/pfe_eth/pfe_cmd.c @@ -41,7 +41,7 @@ static void pfe_command_pe(int argc, char *const argv[]) } id = simple_strtoul(argv[4], NULL, 0); - addr = simple_strtoul(argv[5], NULL, 16); + addr = hextoul(argv[5], NULL); size = 4; for (i = 0; i < num; i++, addr += 4) { @@ -75,7 +75,7 @@ static void pfe_command_pe(int argc, char *const argv[]) } id = simple_strtoul(argv[4], NULL, 0); - addr = simple_strtoul(argv[5], NULL, 16); + addr = hextoul(argv[5], NULL); size = 4; for (i = 0; i < num; i++, addr += 4) { @@ -99,9 +99,9 @@ static void pfe_command_pe(int argc, char *const argv[]) } id = simple_strtoul(argv[4], NULL, 0); - val = simple_strtoul(argv[5], NULL, 16); + val = hextoul(argv[5], NULL); val = cpu_to_be32(val); - addr = simple_strtoul(argv[6], NULL, 16); + addr = hextoul(argv[6], NULL); size = 4; pe_dmem_write(id, val, addr, size); } else { @@ -123,7 +123,7 @@ static void pfe_command_pe(int argc, char *const argv[]) return; } - offset = simple_strtoul(argv[4], NULL, 16); + offset = hextoul(argv[4], NULL); for (i = 0; i < num; i++, offset += 4) { pe_lmem_read(&val, 4, offset); @@ -141,9 +141,9 @@ static void pfe_command_pe(int argc, char *const argv[]) return; } - val = simple_strtoul(argv[4], NULL, 16); + val = hextoul(argv[4], NULL); val = cpu_to_be32(val); - offset = simple_strtoul(argv[5], NULL, 16); + offset = hextoul(argv[5], NULL); pe_lmem_write(&val, 4, offset); } else { printf("Usage: pfe pe lmem [read | write] \n"); diff --git a/drivers/net/phy/b53.c b/drivers/net/phy/b53.c index 21da53c7e5..695fac47b6 100644 --- a/drivers/net/phy/b53.c +++ b/drivers/net/phy/b53.c @@ -646,8 +646,8 @@ int do_b53_reg_read(const char *name, int argc, char *const argv[]) return ret; } - page = simple_strtoul(argv[1], NULL, 16); - offset = simple_strtoul(argv[2], NULL, 16); + page = hextoul(argv[1], NULL); + offset = hextoul(argv[2], NULL); width = simple_strtoul(argv[3], NULL, 10); switch (width) { @@ -698,13 +698,13 @@ int do_b53_reg_write(const char *name, int argc, char *const argv[]) return ret; } - page = simple_strtoul(argv[1], NULL, 16); - offset = simple_strtoul(argv[2], NULL, 16); + page = hextoul(argv[1], NULL); + offset = hextoul(argv[2], NULL); width = simple_strtoul(argv[3], NULL, 10); if (width == 48 || width == 64) value64 = simple_strtoull(argv[4], NULL, 16); else - value = simple_strtoul(argv[4], NULL, 16); + value = hextoul(argv[4], NULL); switch (width) { case 8: diff --git a/drivers/net/phy/mv88e6352.c b/drivers/net/phy/mv88e6352.c index 62a7f19214..07a8e50b48 100644 --- a/drivers/net/phy/mv88e6352.c +++ b/drivers/net/phy/mv88e6352.c @@ -256,7 +256,7 @@ int do_mvsw_reg_write(const char *name, int argc, char *const argv[]) phyaddr = simple_strtoul(argv[1], NULL, 10); port = simple_strtoul(argv[2], NULL, 10); reg = simple_strtoul(argv[3], NULL, 10); - value = simple_strtoul(argv[4], NULL, 16); + value = hextoul(argv[4], NULL); ret = sw_reg_write(name, phyaddr, port, reg, value); diff --git a/drivers/power/power_core.c b/drivers/power/power_core.c index eeed8e24a9..4f7ba099cd 100644 --- a/drivers/power/power_core.c +++ b/drivers/power/power_core.c @@ -159,7 +159,7 @@ static int do_pmic(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 4) return CMD_RET_USAGE; - reg = simple_strtoul(argv[3], NULL, 16); + reg = hextoul(argv[3], NULL); ret = pmic_reg_read(p, reg, &val); if (ret) @@ -174,8 +174,8 @@ static int do_pmic(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 5) return CMD_RET_USAGE; - reg = simple_strtoul(argv[3], NULL, 16); - val = simple_strtoul(argv[4], NULL, 16); + reg = hextoul(argv[3], NULL); + val = hextoul(argv[4], NULL); pmic_reg_write(p, reg, val); return CMD_RET_SUCCESS; diff --git a/drivers/qe/qe.c b/drivers/qe/qe.c index 97883ffc87..bd0a10c9d2 100644 --- a/drivers/qe/qe.c +++ b/drivers/qe/qe.c @@ -794,7 +794,7 @@ static int qe_cmd(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) return cmd_usage(cmdtp); if (strcmp(argv[1], "fw") == 0) { - addr = simple_strtoul(argv[2], NULL, 16); + addr = hextoul(argv[2], NULL); if (!addr) { printf("Invalid address\n"); @@ -807,7 +807,7 @@ static int qe_cmd(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) */ if (argc > 3) { - ulong length = simple_strtoul(argv[3], NULL, 16); + ulong length = hextoul(argv[3], NULL); struct qe_firmware *firmware = (void *)addr; if (length != be32_to_cpu(firmware->header.length)) { diff --git a/drivers/rtc/m41t60.c b/drivers/rtc/m41t60.c index 692042b935..b8ad33e012 100644 --- a/drivers/rtc/m41t60.c +++ b/drivers/rtc/m41t60.c @@ -214,7 +214,7 @@ void rtc_reset(void) * the M41T60 documentation for further details. */ if (s) { - unsigned long const l = simple_strtoul(s, 0, 16); + unsigned long const l = hextoul(s, 0); if (l <= 0x3F) { if ((data[RTC_CTRL] & 0x3F) != l) { diff --git a/drivers/video/ati_radeon_fb.c b/drivers/video/ati_radeon_fb.c index c4da2e3ae7..383666781c 100644 --- a/drivers/video/ati_radeon_fb.c +++ b/drivers/video/ati_radeon_fb.c @@ -642,7 +642,7 @@ void *video_hw_init(void) if (penv) { /* deceide if it is a string */ if (penv[0] <= '9') { - videomode = (int) simple_strtoul (penv, NULL, 16); + videomode = (int)hextoul(penv, NULL); tmp = 1; } } else { diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 1f491a48d6..5e1ee061e8 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -1857,7 +1857,7 @@ static void *video_logo(void) ret = splash_screen_prepare(); if (ret < 0) return video_fb_address; - addr = simple_strtoul(s, NULL, 16); + addr = hextoul(s, NULL); if (video_display_bitmap(addr, video_logo_xpos, diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c index 9b42ca8d03..e6dd2b83c6 100644 --- a/drivers/video/mx3fb.c +++ b/drivers/video/mx3fb.c @@ -820,7 +820,7 @@ void *video_hw_init(void) if (penv) { /* decide if it is a string */ if (penv[0] <= '9') { - videomode = (int) simple_strtoul(penv, NULL, 16); + videomode = (int)hextoul(penv, NULL); tmp = 1; } } else { diff --git a/fs/fs.c b/fs/fs.c index b7936fd4cf..7c682582c8 100644 --- a/fs/fs.c +++ b/fs/fs.c @@ -717,13 +717,13 @@ int do_load(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[], } if (argc >= 4) { - addr = simple_strtoul(argv[3], &ep, 16); + addr = hextoul(argv[3], &ep); if (ep == argv[3] || *ep != '\0') return CMD_RET_USAGE; } else { addr_str = env_get("loadaddr"); if (addr_str != NULL) - addr = simple_strtoul(addr_str, NULL, 16); + addr = hextoul(addr_str, NULL); else addr = CONFIG_SYS_LOAD_ADDR; } @@ -737,11 +737,11 @@ int do_load(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[], } } if (argc >= 6) - bytes = simple_strtoul(argv[5], NULL, 16); + bytes = hextoul(argv[5], NULL); else bytes = 0; if (argc >= 7) - pos = simple_strtoul(argv[6], NULL, 16); + pos = hextoul(argv[6], NULL); else pos = 0; @@ -815,11 +815,11 @@ int do_save(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[], if (fs_set_blk_dev(argv[1], argv[2], fstype)) return 1; - addr = simple_strtoul(argv[3], NULL, 16); + addr = hextoul(argv[3], NULL); filename = argv[4]; - bytes = simple_strtoul(argv[5], NULL, 16); + bytes = hextoul(argv[5], NULL); if (argc >= 7) - pos = simple_strtoul(argv[6], NULL, 16); + pos = hextoul(argv[6], NULL); else pos = 0; diff --git a/include/vsprintf.h b/include/vsprintf.h index 4016de6677..5a268ab5cb 100644 --- a/include/vsprintf.h +++ b/include/vsprintf.h @@ -10,8 +10,33 @@ #include #include +/** + * simple_strtoul - convert a string to an unsigned long + * + * @param cp The string to be converted + * @param endp Updated to point to the first character not converted + * @param base The number base to use + * @return value decoded from string (0 if invalid) + * + * Converts a string to an unsigned long. If there are invalid characters at + * the end these are ignored. In the worst case, if all characters are invalid, + * 0 is returned + */ ulong simple_strtoul(const char *cp, char **endp, unsigned int base); +/** + * hex_strtoul - convert a string in hex to an unsigned long + * + * @param cp The string to be converted + * @param endp Updated to point to the first character not converted + * @return value decoded from string (0 if invalid) + * + * Converts a hex string to an unsigned long. If there are invalid characters at + * the end these are ignored. In the worst case, if all characters are invalid, + * 0 is returned + */ +unsigned long hextoul(const char *cp, char **endp); + /** * strict_strtoul - convert a string to an unsigned long strictly * @param cp The string to be converted @@ -30,9 +55,6 @@ ulong simple_strtoul(const char *cp, char **endp, unsigned int base); * * echo will append a newline to the tail. * - * simple_strtoul just ignores the successive invalid characters and - * return the converted value of prefix part of the string. - * * Copied this function from Linux 2.6.38 commit ID: * 521cb40b0c44418a4fd36dc633f575813d59a43d * diff --git a/lib/net_utils.c b/lib/net_utils.c index 0a8a557319..f596c8f280 100644 --- a/lib/net_utils.c +++ b/lib/net_utils.c @@ -52,7 +52,7 @@ void string_to_enetaddr(const char *addr, uint8_t *enetaddr) return; for (i = 0; i < 6; ++i) { - enetaddr[i] = addr ? simple_strtoul(addr, &end, 16) : 0; + enetaddr[i] = addr ? hextoul(addr, &end) : 0; if (addr) addr = (*end) ? end + 1 : end; } diff --git a/lib/strto.c b/lib/strto.c index f8b53d846b..57d62163da 100644 --- a/lib/strto.c +++ b/lib/strto.c @@ -30,11 +30,10 @@ static const char *_parse_integer_fixup_radix(const char *s, unsigned int *base) return s; } -unsigned long simple_strtoul(const char *cp, char **endp, - unsigned int base) +ulong simple_strtoul(const char *cp, char **endp, uint base) { - unsigned long result = 0; - unsigned long value; + ulong result = 0; + ulong value; cp = _parse_integer_fixup_radix(cp, &base); @@ -50,6 +49,11 @@ unsigned long simple_strtoul(const char *cp, char **endp, return result; } +ulong hextoul(const char *cp, char **endp) +{ + return simple_strtoul(cp, endp, 16); +} + int strict_strtoul(const char *cp, unsigned int base, unsigned long *res) { char *tail; diff --git a/lib/uuid.c b/lib/uuid.c index 5bc68674d0..67267c66a3 100644 --- a/lib/uuid.c +++ b/lib/uuid.c @@ -164,26 +164,26 @@ int uuid_str_to_bin(const char *uuid_str, unsigned char *uuid_bin, } if (str_format == UUID_STR_FORMAT_STD) { - tmp32 = cpu_to_be32(simple_strtoul(uuid_str, NULL, 16)); + tmp32 = cpu_to_be32(hextoul(uuid_str, NULL)); memcpy(uuid_bin, &tmp32, 4); - tmp16 = cpu_to_be16(simple_strtoul(uuid_str + 9, NULL, 16)); + tmp16 = cpu_to_be16(hextoul(uuid_str + 9, NULL)); memcpy(uuid_bin + 4, &tmp16, 2); - tmp16 = cpu_to_be16(simple_strtoul(uuid_str + 14, NULL, 16)); + tmp16 = cpu_to_be16(hextoul(uuid_str + 14, NULL)); memcpy(uuid_bin + 6, &tmp16, 2); } else { - tmp32 = cpu_to_le32(simple_strtoul(uuid_str, NULL, 16)); + tmp32 = cpu_to_le32(hextoul(uuid_str, NULL)); memcpy(uuid_bin, &tmp32, 4); - tmp16 = cpu_to_le16(simple_strtoul(uuid_str + 9, NULL, 16)); + tmp16 = cpu_to_le16(hextoul(uuid_str + 9, NULL)); memcpy(uuid_bin + 4, &tmp16, 2); - tmp16 = cpu_to_le16(simple_strtoul(uuid_str + 14, NULL, 16)); + tmp16 = cpu_to_le16(hextoul(uuid_str + 14, NULL)); memcpy(uuid_bin + 6, &tmp16, 2); } - tmp16 = cpu_to_be16(simple_strtoul(uuid_str + 19, NULL, 16)); + tmp16 = cpu_to_be16(hextoul(uuid_str + 19, NULL)); memcpy(uuid_bin + 8, &tmp16, 2); tmp64 = cpu_to_be64(simple_strtoull(uuid_str + 24, NULL, 16)); diff --git a/lib/vsprintf.c b/lib/vsprintf.c index c14176dd39..d7ee35b477 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -858,7 +858,7 @@ bool str2long(const char *p, ulong *num) { char *endptr; - *num = simple_strtoul(p, &endptr, 16); + *num = hextoul(p, &endptr); return *p != '\0' && *endptr == '\0'; } diff --git a/test/str_ut.c b/test/str_ut.c index 359d7d4ea1..4c3b566d2c 100644 --- a/test/str_ut.c +++ b/test/str_ut.c @@ -105,6 +105,18 @@ static int str_simple_strtoul(struct unit_test_state *uts) } STR_TEST(str_simple_strtoul, 0); +static int str_hextoul(struct unit_test_state *uts) +{ + char *endp; + + /* Just a simple test, since we know this uses simple_strtoul() */ + ut_asserteq(0x1099ab, hextoul(str2, &endp)); + ut_asserteq(6, endp - str2); + + return 0; +} +STR_TEST(str_hextoul, 0); + int do_ut_str(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { struct unit_test *tests = UNIT_TEST_SUITE_START(str_test);