dm: mmc: Support erase
At present erase is not suported with CONFIG_DM_OPS. Add it so that MMC devices can be erased. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
d5fe013cee
commit
561e624c35
|
@ -262,6 +262,7 @@ static const struct blk_ops mmc_blk_ops = {
|
|||
.read = mmc_bread,
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
.write = mmc_bwrite,
|
||||
.erase = mmc_berase,
|
||||
#endif
|
||||
.select_hwpart = mmc_select_hwpart,
|
||||
};
|
||||
|
|
|
@ -29,15 +29,15 @@ ulong mmc_bread(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
|
|||
#endif
|
||||
|
||||
#if !(defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_SAVEENV))
|
||||
unsigned long mmc_berase(struct blk_desc *block_dev, lbaint_t start,
|
||||
lbaint_t blkcnt);
|
||||
|
||||
#ifdef CONFIG_BLK
|
||||
ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
|
||||
const void *src);
|
||||
ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt);
|
||||
#else
|
||||
ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
|
||||
const void *src);
|
||||
ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt);
|
||||
#endif
|
||||
|
||||
#else /* CONFIG_SPL_BUILD and CONFIG_SPL_SAVEENV is not defined */
|
||||
|
|
|
@ -66,9 +66,15 @@ err_out:
|
|||
return err;
|
||||
}
|
||||
|
||||
unsigned long mmc_berase(struct blk_desc *block_dev, lbaint_t start,
|
||||
lbaint_t blkcnt)
|
||||
#ifdef CONFIG_BLK
|
||||
ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt)
|
||||
#else
|
||||
ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt)
|
||||
#endif
|
||||
{
|
||||
#ifdef CONFIG_BLK
|
||||
struct blk_desc *block_dev = dev_get_uclass_platdata(dev);
|
||||
#endif
|
||||
int dev_num = block_dev->devnum;
|
||||
int err = 0;
|
||||
u32 start_rem, blkcnt_rem;
|
||||
|
|
Loading…
Reference in New Issue