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