From 2b9599e010603879f99ed867f47fca6268902661 Mon Sep 17 00:00:00 2001
From: Tom Rini <trini@ti.com>
Date: Tue, 9 Jul 2013 15:32:34 -0400
Subject: [PATCH] cmd_bootm.c: Make bootz consume 'bootz' from argv, decrement
 argc

Like 'bootm', 'bootz' needs to consume 'bootz' so that the rest of the
state functions will work.

Signed-off-by: Tom Rini <trini@ti.com>
---
 common/cmd_bootm.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 70d9891faf..377acb1042 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -1767,12 +1767,12 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc,
 			      images, 1);
 
 	/* Setup Linux kernel zImage entry point */
-	if (argc < 2) {
+	if (!argc) {
 		images->ep = load_addr;
 		debug("*  kernel: default image load address = 0x%08lx\n",
 				load_addr);
 	} else {
-		images->ep = simple_strtoul(argv[1], NULL, 16);
+		images->ep = simple_strtoul(argv[0], NULL, 16);
 		debug("*  kernel: cmdline image address = 0x%08lx\n",
 			images->ep);
 	}
@@ -1783,16 +1783,24 @@ static int bootz_start(cmd_tbl_t *cmdtp, int flag, int argc,
 
 	lmb_reserve(&images->lmb, images->ep, zi_end - zi_start);
 
-	ret = do_bootm_states(cmdtp, flag, argc, argv, BOOTM_STATE_FINDOTHER,
-			      images, 1);
+	if (bootm_find_ramdisk(flag, argc, argv))
+		return 1;
 
-	return ret;
+#if defined(CONFIG_OF_LIBFDT)
+	if (bootm_find_fdt(flag, argc, argv))
+		return 1;
+#endif
+
+	return 0;
 }
 
 int do_bootz(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	int ret;
 
+	/* Consume 'bootz' */
+	argc--; argv++;
+
 	if (bootz_start(cmdtp, flag, argc, argv, &images))
 		return 1;
 
-- 
2.30.2