
An argument, verbose, is added to enable/disable the "Device not found" message. Because we need to query mmc devices in mmc_spi subcommand and don't want the message.
Signed-off-by: Thomas Chou thomas@wytron.com.tw --- v2: add an argument instead of add a new func, per Wolfgang.
common/cmd_mmc.c | 8 ++++---- drivers/mmc/mmc.c | 11 ++++++----- include/mmc.h | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c index c67c9cf..9736e5a 100644 --- a/common/cmd_mmc.c +++ b/common/cmd_mmc.c @@ -124,7 +124,7 @@ int do_mmcinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) else dev_num = simple_strtoul(argv[1], NULL, 0);
- mmc = find_mmc_device(dev_num); + mmc = find_mmc_device(dev_num, 1);
if (mmc) { mmc_init(mmc); @@ -148,7 +148,7 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) case 3: if (strcmp(argv[1], "rescan") == 0) { int dev = simple_strtoul(argv[2], NULL, 10); - struct mmc *mmc = find_mmc_device(dev); + struct mmc *mmc = find_mmc_device(dev, 1);
if (!mmc) return 1; @@ -177,7 +177,7 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) u32 cnt = simple_strtoul(argv[5], NULL, 16); u32 n; u32 blk = simple_strtoul(argv[4], NULL, 16); - struct mmc *mmc = find_mmc_device(dev); + struct mmc *mmc = find_mmc_device(dev, 1);
if (!mmc) return 1; @@ -200,7 +200,7 @@ int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) void *addr = (void *)simple_strtoul(argv[3], NULL, 16); u32 cnt = simple_strtoul(argv[5], NULL, 16); u32 n; - struct mmc *mmc = find_mmc_device(dev); + struct mmc *mmc = find_mmc_device(dev, 1);
int blk = simple_strtoul(argv[4], NULL, 16);
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index cf4ea16..42e7937 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -60,7 +60,7 @@ int mmc_set_blocklen(struct mmc *mmc, int len) return mmc_send_cmd(mmc, &cmd, NULL); }
-struct mmc *find_mmc_device(int dev_num) +struct mmc *find_mmc_device(int dev_num, int verbose) { struct mmc *m; struct list_head *entry; @@ -72,7 +72,8 @@ struct mmc *find_mmc_device(int dev_num) return m; }
- printf("MMC Device %d not found\n", dev_num); + if (verbose) + printf("MMC Device %d not found\n", dev_num);
return NULL; } @@ -84,7 +85,7 @@ mmc_bwrite(int dev_num, ulong start, lbaint_t blkcnt, const void*src) struct mmc_data data; int err; int stoperr = 0; - struct mmc *mmc = find_mmc_device(dev_num); + struct mmc *mmc = find_mmc_device(dev_num, 1); int blklen;
if (!mmc) @@ -214,7 +215,7 @@ static ulong mmc_bread(int dev_num, ulong start, lbaint_t blkcnt, void *dst) { int err; int i; - struct mmc *mmc = find_mmc_device(dev_num); + struct mmc *mmc = find_mmc_device(dev_num, 1);
if (!mmc) return 0; @@ -860,7 +861,7 @@ int mmc_register(struct mmc *mmc)
block_dev_desc_t *mmc_get_dev(int dev) { - struct mmc *mmc = find_mmc_device(dev); + struct mmc *mmc = find_mmc_device(dev, 1);
return mmc ? &mmc->block_dev : NULL; } diff --git a/include/mmc.h b/include/mmc.h index 8973bc7..0903491 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -270,7 +270,7 @@ int mmc_register(struct mmc *mmc); int mmc_initialize(bd_t *bis); int mmc_init(struct mmc *mmc); int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size); -struct mmc *find_mmc_device(int dev_num); +struct mmc *find_mmc_device(int dev_num, int verbose); void print_mmc_devices(char separator); int board_mmc_getcd(u8 *cd, struct mmc *mmc);