flash: implement release() as part of flash_ops

tags/0.1.0
S.J.R. van Schaik 7 years ago
parent 27cf8bb587
commit f53b072a65
  1. 1
      include/flash.h
  2. 8
      source/core/flash.c
  3. 4
      source/drivers/sandbox_flash.c

@ -6,6 +6,7 @@
struct flash_dev;
struct flash_ops {
void (* release)(struct flash_dev *dev);
size_t (* get_size)(struct flash_dev *dev);
size_t (* get_capacity)(struct flash_dev *dev);
int (* read)(struct flash_dev *dev, uint32_t addr, void *data, size_t len);

@ -19,6 +19,14 @@ int default_flash_is_erased(struct flash_dev *dev, uint32_t addr)
return 1;
}
void flash_release(struct flash_dev *dev)
{
if (!dev)
return;
dev->ops->release(dev);
}
size_t flash_get_size(struct flash_dev *dev)
{
if (!dev)

@ -26,8 +26,10 @@ static int stdio_flash_write(struct flash_dev *dev, uint32_t addr,
static int stdio_flash_copy(struct flash_dev *dev, uint32_t dst, uint32_t src,
size_t len);
static int stdio_flash_erase(struct flash_dev *dev, uint32_t addr);
static void stdio_flash_release(struct flash_dev *dev);
static struct flash_ops stdio_flash_ops = {
.release = stdio_flash_release,
.get_size = stdio_flash_get_size,
.read = stdio_flash_read,
.write = stdio_flash_write,
@ -150,7 +152,7 @@ err_free_dev:
return NULL;
}
void flash_release(struct flash_dev *dev)
static void stdio_flash_release(struct flash_dev *dev)
{
struct stdio_flash_priv *priv;

Loading…
Cancel
Save