summaryrefslogtreecommitdiff
path: root/cmd/mmc.c
diff options
context:
space:
mode:
authorEric Nelson <eric@nelint.com>2016-03-27 12:00:14 -0700
committerTom Rini <trini@konsulko.com>2016-04-01 17:18:28 -0400
commitbcfde7ffb0beff80dc9e2f689099b813f5f0e052 (patch)
treeedeacfc551067c2f6336b76a843dd62d56200027 /cmd/mmc.c
parente40cf34a29f1b248643731a11fb1c6f0520d016c (diff)
downloadu-boot-bcfde7ffb0beff80dc9e2f689099b813f5f0e052.tar.gz
mmc: use block layer in mmc command
Call blk_dread, blk_dwrite, blk_derase to ensure that the block cache is used if enabled and to remove build breakage when CONFIG_BLK is enabled. Signed-off-by: Eric Nelson <eric@nelint.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'cmd/mmc.c')
-rw-r--r--cmd/mmc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/cmd/mmc.c b/cmd/mmc.c
index fb4382e9ff..39ef072fc2 100644
--- a/cmd/mmc.c
+++ b/cmd/mmc.c
@@ -150,6 +150,7 @@ static struct mmc *init_mmc_device(int dev, bool force_init)
printf("no mmc device at slot %x\n", dev);
return NULL;
}
+
if (force_init)
mmc->has_init = 0;
if (mmc_init(mmc))
@@ -345,7 +346,7 @@ static int do_mmc_read(cmd_tbl_t *cmdtp, int flag,
printf("\nMMC read: dev # %d, block # %d, count %d ... ",
curr_device, blk, cnt);
- n = mmc->block_dev.block_read(&mmc->block_dev, blk, cnt, addr);
+ n = blk_dread(&mmc->block_dev, blk, cnt, addr);
/* flush cache after read */
flush_cache((ulong)addr, cnt * 512); /* FIXME */
printf("%d blocks read: %s\n", n, (n == cnt) ? "OK" : "ERROR");
@@ -377,7 +378,7 @@ static int do_mmc_write(cmd_tbl_t *cmdtp, int flag,
printf("Error: card is write protected!\n");
return CMD_RET_FAILURE;
}
- n = mmc->block_dev.block_write(&mmc->block_dev, blk, cnt, addr);
+ n = blk_dwrite(&mmc->block_dev, blk, cnt, addr);
printf("%d blocks written: %s\n", n, (n == cnt) ? "OK" : "ERROR");
return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE;
@@ -405,7 +406,7 @@ static int do_mmc_erase(cmd_tbl_t *cmdtp, int flag,
printf("Error: card is write protected!\n");
return CMD_RET_FAILURE;
}
- n = mmc->block_dev.block_erase(&mmc->block_dev, blk, cnt);
+ n = blk_derase(&mmc->block_dev, blk, cnt);
printf("%d blocks erased: %s\n", n, (n == cnt) ? "OK" : "ERROR");
return (n == cnt) ? CMD_RET_SUCCESS : CMD_RET_FAILURE;