dm: mmc: Add a legacy block interface for MMC

Add a legacy block interface for MMC.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2016-05-01 11:36:07 -06:00
parent c0543bf6be
commit 663acabdc5

View file

@ -1582,14 +1582,31 @@ void mmc_destroy(struct mmc *mmc)
free(mmc); free(mmc);
} }
static int mmc_get_devp(int dev, struct blk_desc **descp)
{
struct mmc *mmc = find_mmc_device(dev);
int ret;
if (!mmc)
return -ENODEV;
ret = mmc_init(mmc);
if (ret)
return ret;
*descp = &mmc->block_dev;
return 0;
}
#ifdef CONFIG_PARTITIONS #ifdef CONFIG_PARTITIONS
struct blk_desc *mmc_get_dev(int dev) struct blk_desc *mmc_get_dev(int dev)
{ {
struct mmc *mmc = find_mmc_device(dev); struct blk_desc *desc;
if (!mmc || mmc_init(mmc))
if (mmc_get_devp(dev, &desc))
return NULL; return NULL;
return &mmc->block_dev; return desc;
} }
#endif #endif
@ -1965,3 +1982,10 @@ int mmc_set_rst_n_function(struct mmc *mmc, u8 enable)
enable); enable);
} }
#endif #endif
U_BOOT_LEGACY_BLK(mmc) = {
.if_typename = "mmc",
.if_type = IF_TYPE_MMC,
.max_devs = -1,
.get_dev = mmc_get_devp,
};