]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_hash.c
karo: tx6: rename CONFIG_SYS_BOOT_CMD_NAND to FDTSAVE_CMD_STR
[karo-tx-uboot.git] / common / cmd_hash.c
index 689c60857249d85ce297f66ce278d2f6d99cef5a..704d21ec6d0d8fbf5c2f29f350679697b47cace2 100644 (file)
@@ -7,33 +7,24 @@
  * (C) Copyright 2000
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <command.h>
 #include <hash.h>
+#include <linux/ctype.h>
 
 static int do_hash(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-#ifdef CONFIG_HASH_VERIFY
-       int verify = 0;
+       char *s;
+       int flags = HASH_FLAG_ENV;
 
+#ifdef CONFIG_HASH_VERIFY
+       if (argc < 4)
+               return CMD_RET_USAGE;
        if (!strcmp(argv[1], "-v")) {
-               verify = 1;
+               flags |= HASH_FLAG_VERIFY;
                argc--;
                argv++;
        }
@@ -41,23 +32,25 @@ static int do_hash(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        /* Move forward to 'algorithm' parameter */
        argc--;
        argv++;
-       return hash_command(*argv, verify, cmdtp, flag, argc - 1, argv + 1);
+       for (s = *argv; *s; s++)
+               *s = tolower(*s);
+       return hash_command(*argv, flags, cmdtp, flag, argc - 1, argv + 1);
 }
 
 #ifdef CONFIG_HASH_VERIFY
-U_BOOT_CMD(
-       hash,   6,      1,      do_hash,
-       "compute hash message digest",
-       "algorithm address count [[*]sum_dest]\n"
-               "    - compute message digest [save to env var / *address]\n"
-       "hash -v algorithm address count [*]sum\n"
-               "    - verify hash of memory area with env var / *address"
-);
+#define HARGS 6
 #else
+#define HARGS 5
+#endif
+
 U_BOOT_CMD(
-       hash,   5,      1,      do_hash,
-       "compute message digest",
-       "algorithm address count [[*]sum_dest]\n"
+       hash,   HARGS,  1,      do_hash,
+       "compute hash message digest",
+       "algorithm address count [[*]hash_dest]\n"
                "    - compute message digest [save to env var / *address]"
-);
+#ifdef CONFIG_HASH_VERIFY
+       "\nhash -v algorithm address count [*]hash\n"
+               "    - verify message digest of memory area to immediate value, \n"
+               "      env var or *address"
 #endif
+);