Commit 561e624c350ee5c281da46d23aee70b0523d4d39
Committed by
sjg
1 parent
d5fe013cee
Exists in
v2017.01-smarct4x
and in
25 other branches
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>
Showing 3 changed files with 11 additions and 4 deletions Side-by-side Diff
drivers/mmc/mmc-uclass.c
drivers/mmc/mmc_private.h
... | ... | @@ -29,15 +29,15 @@ |
29 | 29 | #endif |
30 | 30 | |
31 | 31 | #if !(defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_SAVEENV)) |
32 | -unsigned long mmc_berase(struct blk_desc *block_dev, lbaint_t start, | |
33 | - lbaint_t blkcnt); | |
34 | 32 | |
35 | 33 | #ifdef CONFIG_BLK |
36 | 34 | ulong mmc_bwrite(struct udevice *dev, lbaint_t start, lbaint_t blkcnt, |
37 | 35 | const void *src); |
36 | +ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt); | |
38 | 37 | #else |
39 | 38 | ulong mmc_bwrite(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt, |
40 | 39 | const void *src); |
40 | +ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt); | |
41 | 41 | #endif |
42 | 42 | |
43 | 43 | #else /* CONFIG_SPL_BUILD and CONFIG_SPL_SAVEENV is not defined */ |
drivers/mmc/mmc_write.c
... | ... | @@ -66,9 +66,15 @@ |
66 | 66 | return err; |
67 | 67 | } |
68 | 68 | |
69 | -unsigned long mmc_berase(struct blk_desc *block_dev, lbaint_t start, | |
70 | - lbaint_t blkcnt) | |
69 | +#ifdef CONFIG_BLK | |
70 | +ulong mmc_berase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt) | |
71 | +#else | |
72 | +ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt) | |
73 | +#endif | |
71 | 74 | { |
75 | +#ifdef CONFIG_BLK | |
76 | + struct blk_desc *block_dev = dev_get_uclass_platdata(dev); | |
77 | +#endif | |
72 | 78 | int dev_num = block_dev->devnum; |
73 | 79 | int err = 0; |
74 | 80 | u32 start_rem, blkcnt_rem; |