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,
|
.read = mmc_bread,
|
||||||
#ifndef CONFIG_SPL_BUILD
|
#ifndef CONFIG_SPL_BUILD
|
||||||
.write = mmc_bwrite,
|
.write = mmc_bwrite,
|
||||||
|
.erase = mmc_berase,
|
||||||
#endif
|
#endif
|
||||||
.select_hwpart = mmc_select_hwpart,
|
.select_hwpart = mmc_select_hwpart,
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,15 +29,15 @@ ulong mmc_bread(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !(defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_SAVEENV))
|
#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
|
#ifdef CONFIG_BLK
|
||||||
ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
|
ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt,
|
||||||
const void *src);
|
const void *src);
|
||||||
|
ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt);
|
||||||
#else
|
#else
|
||||||
ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
|
ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt,
|
||||||
const void *src);
|
const void *src);
|
||||||
|
ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else /* CONFIG_SPL_BUILD and CONFIG_SPL_SAVEENV is not defined */
|
#else /* CONFIG_SPL_BUILD and CONFIG_SPL_SAVEENV is not defined */
|
||||||
|
|
|
@ -66,9 +66,15 @@ err_out:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long mmc_berase(struct blk_desc *block_dev, lbaint_t start,
|
#ifdef CONFIG_BLK
|
||||||
lbaint_t blkcnt)
|
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 dev_num = block_dev->devnum;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
u32 start_rem, blkcnt_rem;
|
u32 start_rem, blkcnt_rem;
|
||||||
|
|
Loading…
Reference in New Issue