X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=common%2Fcmd_mmc.c;h=4323f76b30549cb0a83b19c8c95b755259d2af14;hb=1ed3b710d04e21dd34f61cfd129cbe18bef91598;hp=a6ed6a84e8dfd5ab7d8f24338b81e1f7a9f118a5;hpb=9844d027b52cc89264f6bf7686e26d9dc50134fd;p=karo-tx-uboot.git diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c index a6ed6a84e8..4323f76b30 100644 --- a/common/cmd_mmc.c +++ b/common/cmd_mmc.c @@ -133,8 +133,8 @@ int do_mmcinfo (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) U_BOOT_CMD( mmcinfo, 2, 0, do_mmcinfo, "display MMC info", - "\n - " - device number of the device to dislay info of\n" + "\n" + " - device number of the device to dislay info of\n" "" ); @@ -154,13 +154,31 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) mmc_init(mmc); return 0; + } else if (strncmp(argv[1], "part", 4) == 0) { + int dev = simple_strtoul(argv[2], NULL, 10); + block_dev_desc_t *mmc_dev; + struct mmc *mmc = find_mmc_device(dev); + + if (!mmc) { + puts("no mmc devices available\n"); + return 1; + } + mmc_init(mmc); + mmc_dev = mmc_get_dev(dev); + if (mmc_dev != NULL && + mmc_dev->type != DEV_TYPE_UNKNOWN) { + print_part(mmc_dev); + return 0; + } + + puts("get mmc type error!\n"); + return 1; } case 0: case 1: case 4: - printf("Usage:\n%s\n", cmdtp->usage); - return 1; + return cmd_usage(cmdtp); case 2: if (!strcmp(argv[1], "list")) { @@ -215,10 +233,8 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) printf("%d blocks written: %s\n", n, (n == cnt) ? "OK" : "ERROR"); return (n == cnt) ? 0 : 1; - } else { - printf("Usage:\n%s\n", cmdtp->usage); - rc = 1; - } + } else + rc = cmd_usage(cmdtp); return rc; } @@ -230,5 +246,6 @@ U_BOOT_CMD( "read addr blk# cnt\n" "mmc write addr blk# cnt\n" "mmc rescan \n" + "mmc part - lists available partition on mmc\n" "mmc list - lists available devices"); #endif