]> git.sur5r.net Git - u-boot/blobdiff - common/cmd_fdt.c
ppc: Move mirror_hack to arch_global_data
[u-boot] / common / cmd_fdt.c
index 2997452370e29672e1207b951c2e3179cf19f4d9..9e2de34737f358fab0b9619b20b1e34ec0094e5c 100644 (file)
@@ -95,7 +95,7 @@ static int fdt_value_setenv(const void *nodep, int len, const char *var)
 /*
  * Flattened Device Tree command, see the help for parameter definitions.
  */
-int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
+static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
        if (argc < 2)
                return CMD_RET_USAGE;
@@ -375,7 +375,7 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                                        /* Get address */
                                        char buf[11];
 
-                                       sprintf(buf, "0x%08X", (uint32_t)nodep);
+                                       sprintf(buf, "0x%p", nodep);
                                        setenv(var, buf);
                                } else if (subcmd[0] == 's') {
                                        /* Get size */
@@ -682,7 +682,7 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len)
 
                        cp = newp;
                        tmp = simple_strtoul(cp, &newp, 0);
-                       *(uint32_t *)data = __cpu_to_be32(tmp);
+                       *(__be32 *)data = __cpu_to_be32(tmp);
                        data  += 4;
                        *len += 4;
 
@@ -754,12 +754,12 @@ static int is_printable_string(const void *data, int len)
        if (len == 0)
                return 0;
 
-       /* must terminate with zero */
-       if (s[len - 1] != '\0')
+       /* must terminate with zero or '\n' */
+       if (s[len - 1] != '\0' && s[len - 1] != '\n')
                return 0;
 
        /* printable or a null byte (concatenated strings) */
-       while (((*s == '\0') || isprint(*s)) && (len > 0)) {
+       while (((*s == '\0') || isprint(*s) || isspace(*s)) && (len > 0)) {
                /*
                 * If we see a null, there are three possibilities:
                 * 1) If len == 1, it is the end of the string, printable
@@ -816,9 +816,9 @@ static void print_data(const void *data, int len)
 
        if ((len %4) == 0) {
                if (len > CONFIG_CMD_FDT_MAX_DUMP)
-                       printf("* 0x%08x [0x%08x]", (unsigned int)data, len);
+                       printf("* 0x%p [0x%08x]", data, len);
                else {
-                       const u32 *p;
+                       const __be32 *p;
 
                        printf("<");
                        for (j = 0, p = data; j < len/4; j++)
@@ -828,7 +828,7 @@ static void print_data(const void *data, int len)
                }
        } else { /* anything else... hexdump */
                if (len > CONFIG_CMD_FDT_MAX_DUMP)
-                       printf("* 0x%08x [0x%08x]", (unsigned int)data, len);
+                       printf("* 0x%p [0x%08x]", data, len);
                else {
                        const u8 *s;
 
@@ -964,11 +964,9 @@ static int fdt_print(const char *pathp, char *prop, int depth)
 }
 
 /********************************************************************/
-
-U_BOOT_CMD(
-       fdt,    255,    0,      do_fdt,
-       "flattened device tree utility commands",
-           "addr   <addr> [<length>]        - Set the fdt location to <addr>\n"
+#ifdef CONFIG_SYS_LONGHELP
+static char fdt_help_text[] =
+       "addr   <addr> [<length>]        - Set the fdt location to <addr>\n"
 #ifdef CONFIG_OF_BOARD_SETUP
        "fdt boardsetup                      - Do board-specific set up\n"
 #endif
@@ -992,5 +990,10 @@ U_BOOT_CMD(
        "fdt chosen [<start> <end>]          - Add/update the /chosen branch in the tree\n"
        "                                        <start>/<end> - initrd start/end addr\n"
        "NOTE: Dereference aliases by omiting the leading '/', "
-               "e.g. fdt print ethernet0."
+               "e.g. fdt print ethernet0.";
+#endif
+
+U_BOOT_CMD(
+       fdt,    255,    0,      do_fdt,
+       "flattened device tree utility commands", fdt_help_text
 );