cmd: mmc: fix help and parameter verification with MMC_SPEED_MODE_SET not set
Currently help and parameter scanning does not check whether the feature
is enabled or not. This leads to wrong expectations based on help output
and no clear sign why the mmc dev and mmc rescan do not enforce the
supplied mode.
Fixes: 19f7a34a46 ("mmc: Add support for enumerating MMC card in a given mode using mmc command")
Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
@@ -519,7 +519,7 @@ static int do_mmc_rescan(struct cmd_tbl *cmdtp, int flag,
|
||||
|
||||
if (argc == 1) {
|
||||
mmc = init_mmc_device(curr_device, true);
|
||||
} else if (argc == 2) {
|
||||
} else if ((argc == 2) && (CONFIG_IS_ENABLED(MMC_SPEED_MODE_SET))) {
|
||||
enum bus_mode speed_mode;
|
||||
|
||||
speed_mode = (int)dectoul(argv[1], NULL);
|
||||
@@ -564,11 +564,13 @@ static int do_mmc_dev(struct cmd_tbl *cmdtp, int flag,
|
||||
|
||||
switch (argc) {
|
||||
case 4:
|
||||
speed_mode = (int)dectoul(argv[3], &endp);
|
||||
if (*endp) {
|
||||
printf("Invalid speed mode index '%s', did you specify a mode name?\n",
|
||||
argv[3]);
|
||||
return CMD_RET_USAGE;
|
||||
if (CONFIG_IS_ENABLED(MMC_SPEED_MODE_SET)) {
|
||||
speed_mode = (int)dectoul(argv[3], &endp);
|
||||
if (*endp) {
|
||||
printf("Invalid speed mode index '%s', did you specify a mode name?\n",
|
||||
argv[3]);
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
}
|
||||
|
||||
fallthrough;
|
||||
@@ -1312,12 +1314,17 @@ U_BOOT_CMD(
|
||||
#endif
|
||||
"mmc erase blk# cnt\n"
|
||||
"mmc erase partname\n"
|
||||
#if CONFIG_IS_ENABLED(MMC_SPEED_MODE_SET)
|
||||
"mmc rescan [mode]\n"
|
||||
"mmc part - lists available partition on current mmc device\n"
|
||||
"mmc dev [dev] [part] [mode] - show or set current mmc device [partition] and set mode\n"
|
||||
" - the required speed mode is passed as the index from the following list\n"
|
||||
" [MMC_LEGACY, MMC_HS, SD_HS, MMC_HS_52, MMC_DDR_52, UHS_SDR12, UHS_SDR25,\n"
|
||||
" UHS_SDR50, UHS_DDR50, UHS_SDR104, MMC_HS_200, MMC_HS_400, MMC_HS_400_ES]\n"
|
||||
#else
|
||||
"mmc rescan\n"
|
||||
"mmc dev [dev] [part] - show or set current mmc device [partition]\n"
|
||||
#endif
|
||||
"mmc part - lists available partition on current mmc device\n"
|
||||
"mmc list - lists available devices\n"
|
||||
"mmc wp [PART] - power on write protect boot partitions\n"
|
||||
" arguments:\n"
|
||||
|
||||
Reference in New Issue
Block a user