dm: env: mmc: Convert env_mmc to support CONFIG_BLK
authorSimon Glass <sjg@chromium.org>
Sat, 14 May 2016 20:03:03 +0000 (14:03 -0600)
committerSimon Glass <sjg@chromium.org>
Fri, 27 May 2016 16:23:08 +0000 (10:23 -0600)
Update the MMC environment code so that it works with driver-model enabled
for block devices.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/env_mmc.c

index c7fef18..16f6a17 100644 (file)
@@ -128,12 +128,12 @@ static inline int write_env(struct mmc *mmc, unsigned long size,
                            unsigned long offset, const void *buffer)
 {
        uint blk_start, blk_cnt, n;
+       struct blk_desc *desc = mmc_get_blk_desc(mmc);
 
        blk_start       = ALIGN(offset, mmc->write_bl_len) / mmc->write_bl_len;
        blk_cnt         = ALIGN(size, mmc->write_bl_len) / mmc->write_bl_len;
 
-       n = mmc->block_dev.block_write(&mmc->block_dev, blk_start,
-                                       blk_cnt, (u_char *)buffer);
+       n = blk_dwrite(desc, blk_start, blk_cnt, (u_char *)buffer);
 
        return (n == blk_cnt) ? 0 : -1;
 }
@@ -197,12 +197,12 @@ static inline int read_env(struct mmc *mmc, unsigned long size,
                           unsigned long offset, const void *buffer)
 {
        uint blk_start, blk_cnt, n;
+       struct blk_desc *desc = mmc_get_blk_desc(mmc);
 
        blk_start       = ALIGN(offset, mmc->read_bl_len) / mmc->read_bl_len;
        blk_cnt         = ALIGN(size, mmc->read_bl_len) / mmc->read_bl_len;
 
-       n = mmc->block_dev.block_read(&mmc->block_dev, blk_start, blk_cnt,
-                                     (uchar *)buffer);
+       n = blk_dread(desc, blk_start, blk_cnt, (uchar *)buffer);
 
        return (n == blk_cnt) ? 0 : -1;
 }