core: flash: implement flash_sync() to sync buffered data
This commit is contained in:
parent
f7b11a8726
commit
ac3d198004
2 changed files with 13 additions and 0 deletions
|
@ -15,6 +15,7 @@ struct flash_ops {
|
|||
size_t (* copy)(struct flash_dev *dev, uint32_t dst, uint32_t src, size_t len);
|
||||
int (* is_erased)(struct flash_dev *dev, uint32_t addr);
|
||||
int (* erase)(struct flash_dev *dev, uint32_t addr);
|
||||
int (* sync)(struct flash_dev *dev);
|
||||
};
|
||||
|
||||
struct flash_dev {
|
||||
|
@ -38,3 +39,4 @@ size_t flash_write0(struct flash_dev *dev, uint32_t addr, size_t len);
|
|||
size_t flash_copy(struct flash_dev *dev, uint32_t dst, uint32_t src, size_t len);
|
||||
int flash_is_erased(struct flash_dev *dev, uint32_t addr, size_t len);
|
||||
int flash_erase(struct flash_dev *dev, uint32_t addr, size_t len);
|
||||
int flash_sync(struct flash_dev *dev);
|
||||
|
|
|
@ -153,3 +153,14 @@ int flash_erase(struct flash_dev *dev, uint32_t addr, size_t len)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int flash_sync(struct flash_dev *dev)
|
||||
{
|
||||
if (!dev)
|
||||
return -1;
|
||||
|
||||
if (!dev->ops->sync)
|
||||
return 0;
|
||||
|
||||
return dev->ops->sync(dev);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue