cmd_mmc: use new mmc_select_hwpart() function
authorStephen Warren <swarren@nvidia.com>
Wed, 7 May 2014 18:19:03 +0000 (12:19 -0600)
committerPantelis Antoniou <panto@antoniou-consulting.com>
Fri, 23 May 2014 09:23:28 +0000 (12:23 +0300)
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>
common/cmd_mmc.c

index 55af295e1262baeaf8e8a59d3dcf5a8f75ec1db0..eea337506c3f21829c3a4dff9e832f26d505ac93 100644 (file)
@@ -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)