From: Stephen Warren <swarren@nvidia.com>
Date: Wed, 7 May 2014 18:19:03 +0000 (-0600)
Subject: cmd_mmc: use new mmc_select_hwpart() function
X-Git-Tag: v2025.01-rc5-pxa1908~15312^2
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=df348d8245922adbb03a3a979429c5e70342973c;p=u-boot.git

cmd_mmc: use new mmc_select_hwpart() function

The implementation of mmc_select_hwpart() was cribbed from do_mmcops().
Update do_mmcops() to call mmc_select_hwpart() to avoid duplication.

<panto> Manual patch update due to patch order.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
---

diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index 55af295e12..eea337506c 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -403,7 +403,7 @@ static int do_mmc_part(cmd_tbl_t *cmdtp, int flag,
 static int do_mmc_dev(cmd_tbl_t *cmdtp, int flag,
 		      int argc, char * const argv[])
 {
-	int dev, part = -1;
+	int dev, part = -1, ret;
 	struct mmc *mmc;
 
 	if (argc == 1) {
@@ -427,20 +427,11 @@ static int do_mmc_dev(cmd_tbl_t *cmdtp, int flag,
 		return CMD_RET_FAILURE;
 
 	if (part != -1) {
-		int ret;
-		if (mmc->part_config == MMCPART_NOAVAILABLE) {
-			printf("Card doesn't support part_switch\n");
-			return CMD_RET_FAILURE;
-		}
-
-		if (part != mmc->part_num) {
-			ret = mmc_switch_part(dev, part);
-			if (!ret)
-				mmc->part_num = part;
-
-			printf("switch to partitions #%d, %s\n",
-			       part, (!ret) ? "OK" : "ERROR");
-		}
+		ret = mmc_select_hwpart(dev, part);
+		printf("switch to partitions #%d, %s\n",
+			part, (!ret) ? "OK" : "ERROR");
+		if (ret)
+			return 1;
 	}
 	curr_device = dev;
 	if (mmc->part_config == MMCPART_NOAVAILABLE)