]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_autoscript.c
fdt: suppress unused variable 'bd' warning
[karo-tx-uboot.git] / common / cmd_autoscript.c
index 49bd463f699b4574a0c69f9e86a255a9384d8555..a6038a6effd8a3a7c89ea33ea580f29edb42df38 100644 (file)
@@ -40,8 +40,6 @@
 #include <image.h>
 #include <malloc.h>
 #include <asm/byteorder.h>
-#include <cmd_boot.h>
-#include <cmd_autoscript.h>
 #if defined(CONFIG_8xx)
 #include <mpc8xx.h>
 #endif
@@ -49,8 +47,7 @@
 #include <hush.h>
 #endif
 
-#if defined(CONFIG_AUTOSCRIPT) || \
-        (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT)
+#if defined(CONFIG_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT)
 
 extern image_header_t header;          /* from cmd_bootm.c */
 int
@@ -70,7 +67,7 @@ autoscript (ulong addr)
        memmove (hdr, (char *)addr, sizeof(image_header_t));
 
        if (ntohl(hdr->ih_magic) != IH_MAGIC) {
-               printf ("Bad magic number\n");
+               puts ("Bad magic number\n");
                return 1;
        }
 
@@ -78,8 +75,8 @@ autoscript (ulong addr)
        hdr->ih_hcrc = 0;
        len = sizeof (image_header_t);
        data = (ulong)hdr;
-       if (crc32(0, (char *)data, len) != crc) {
-               printf ("Bad header crc\n");
+       if (crc32(0, (uchar *)data, len) != crc) {
+               puts ("Bad header crc\n");
                return 1;
        }
 
@@ -87,14 +84,14 @@ autoscript (ulong addr)
        len = ntohl(hdr->ih_size);
 
        if (verify) {
-               if (crc32(0, (char *)data, len) != ntohl(hdr->ih_dcrc)) {
-                       printf ("Bad data crc\n");
+               if (crc32(0, (uchar *)data, len) != ntohl(hdr->ih_dcrc)) {
+                       puts ("Bad data crc\n");
                        return 1;
                }
        }
 
        if (hdr->ih_type != IH_TYPE_SCRIPT) {
-               printf ("Bad image type\n");
+               puts ("Bad image type\n");
                return 1;
        }
 
@@ -102,11 +99,11 @@ autoscript (ulong addr)
        len_ptr = (ulong *)data;
 
        if ((len = ntohl(*len_ptr)) == 0) {
-               printf ("Empty Script\n");
+               puts ("Empty Script\n");
                return 1;
        }
 
-       debug ("** Script length: %d\n", len);
+       debug ("** Script length: %ld\n", len);
 
        if ((cmd = malloc (len + 1)) == NULL) {
                return 1;
@@ -118,7 +115,7 @@ autoscript (ulong addr)
        memmove (cmd, (char *)len_ptr, len);
        *(cmd + len) = 0;
 
-#ifdef CFG_HUSH_PARSER
+#ifdef CFG_HUSH_PARSER /*?? */
        rcode = parse_string_outer (cmd, FLAG_PARSE_SEMICOLON);
 #else
        {
@@ -152,9 +149,10 @@ autoscript (ulong addr)
        return rcode;
 }
 
-#endif /* CONFIG_AUTOSCRIPT || CFG_CMD_AUTOSCRIPT */
+#endif
 
-#if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT)
+/**************************************************/
+#if defined(CONFIG_CMD_AUTOSCRIPT)
 int
 do_autoscript (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
@@ -171,4 +169,14 @@ do_autoscript (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
        rcode = autoscript (addr);
        return rcode;
 }
-#endif /* CFG_CMD_AUTOSCRIPT */
+
+#if defined(CONFIG_CMD_AUTOSCRIPT)
+U_BOOT_CMD(
+       autoscr, 2, 0,  do_autoscript,
+       "autoscr - run script from memory\n",
+       "[addr] - run script starting at addr"
+       " - A valid autoscr header must be present\n"
+);
+#endif
+
+#endif