|
|
|
@ -13,8 +13,10 @@ static int ftl_flash_read(struct flash_dev *dev, uint32_t addr, void *data, |
|
|
|
|
static int ftl_flash_write(struct flash_dev *dev, uint32_t addr, |
|
|
|
|
const void *data, size_t len); |
|
|
|
|
static int ftl_flash_erase(struct flash_dev *dev, uint32_t addr); |
|
|
|
|
static void ftl_flash_release(struct flash_dev *dev); |
|
|
|
|
|
|
|
|
|
static struct flash_ops ftl_flash_ops = { |
|
|
|
|
.release = ftl_flash_release, |
|
|
|
|
.get_size = ftl_flash_get_size, |
|
|
|
|
.get_capacity = ftl_flash_get_capacity, |
|
|
|
|
.read = ftl_flash_read, |
|
|
|
@ -94,3 +96,14 @@ err_free_dev: |
|
|
|
|
free(dev); |
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void ftl_flash_release(struct flash_dev *dev) |
|
|
|
|
{ |
|
|
|
|
struct ftl_map *map; |
|
|
|
|
|
|
|
|
|
map = dev->priv; |
|
|
|
|
|
|
|
|
|
flash_release(map->dev); |
|
|
|
|
free(map); |
|
|
|
|
free(dev); |
|
|
|
|
} |
|
|
|
|