Merge https://source.denx.de/u-boot/custodians/u-boot-spi
[platform/kernel/u-boot.git] / cmd / fdt.c
index f1e2fc2..2a207bf 100644 (file)
--- a/cmd/fdt.c
+++ b/cmd/fdt.c
@@ -115,26 +115,20 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
        if (argc < 2)
                return CMD_RET_USAGE;
 
-       /*
-        * Set the address of the fdt
-        */
+       /* fdt addr: Set the address of the fdt */
        if (strncmp(argv[1], "ad", 2) == 0) {
                unsigned long addr;
                int control = 0;
                struct fdt_header *blob;
-               /*
-                * Set the address [and length] of the fdt.
-                */
+
+               /* Set the address [and length] of the fdt */
                argc -= 2;
                argv += 2;
-/* Temporary #ifdef - some archs don't have fdt_blob yet */
-#ifdef CONFIG_OF_CONTROL
                if (argc && !strcmp(*argv, "-c")) {
                        control = 1;
                        argc--;
                        argv++;
                }
-#endif
                if (argc == 0) {
                        if (control)
                                blob = (struct fdt_header *)gd->fdt_blob;
@@ -142,13 +136,14 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
                                blob = working_fdt;
                        if (!blob || !fdt_valid(&blob))
                                return 1;
-                       printf("The address of the fdt is %#08lx\n",
+                       printf("%s fdt: %08lx\n",
+                              control ? "Control" : "Working",
                               control ? (ulong)map_to_sysmem(blob) :
-                                       env_get_hex("fdtaddr", 0));
+                              env_get_hex("fdtaddr", 0));
                        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;
@@ -160,22 +155,18 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
                if (argc >= 2) {
                        int  len;
                        int  err;
-                       /*
-                        * Optional new length
-                        */
-                       len = simple_strtoul(argv[1], NULL, 16);
+
+                       /* Optional new length */
+                       len = hextoul(argv[1], NULL);
                        if (len < fdt_totalsize(blob)) {
-                               printf ("New length %d < existing length %d, "
-                                       "ignoring.\n",
-                                       len, fdt_totalsize(blob));
+                               printf("New length %d < existing length %d, ignoring\n",
+                                      len, fdt_totalsize(blob));
                        } else {
-                               /*
-                                * Open in place with a new length.
-                                */
+                               /* Open in place with a new length */
                                err = fdt_open_into(blob, blob, len);
                                if (err != 0) {
-                                       printf ("libfdt fdt_open_into(): %s\n",
-                                               fdt_strerror(err));
+                                       printf("libfdt fdt_open_into(): %s\n",
+                                              fdt_strerror(err));
                                }
                        }
                }
@@ -184,10 +175,9 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
        }
 
        if (!working_fdt) {
-               puts(
-                       "No FDT memory address configured. Please configure\n"
-                       "the FDT address via \"fdt addr <address>\" command.\n"
-                       "Aborting!\n");
+               puts("No FDT memory address configured. Please configure\n"
+                    "the FDT address via \"fdt addr <address>\" command.\n"
+                    "Aborting!\n");
                return CMD_RET_FAILURE;
        }
 
@@ -205,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
@@ -218,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",
@@ -374,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,
@@ -404,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");
@@ -558,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);
 
        /*
@@ -610,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) {
@@ -633,7 +624,7 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
                               fdt_strerror(err));
                        return CMD_RET_FAILURE;
                }
-#ifdef CONFIG_SOC_KEYSTONE
+#ifdef CONFIG_ARCH_KEYSTONE
                ft_board_setup_ex(working_fdt, gd->bd);
 #endif
        }
@@ -646,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);
@@ -664,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;
@@ -701,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;
@@ -716,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);
@@ -807,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;
                }
@@ -893,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).