static ssize_t mtd_bwrite(FAR struct mtd_dev_s *dev, off_t block, size_t nsectors, FAR const uint8_t *buffer) { FAR struct mtd_rwbuffer_s *priv = (FAR struct mtd_rwbuffer_s *)dev; /* Let the rwbuffer logic do it real work. It will call out to wrb_reload it is * needs to read any data. */ return rwb_write(&priv->rwb, block, nsectors, buffer); }
static ssize_t ftl_write(FAR struct inode *inode, const unsigned char *buffer, size_t start_sector, unsigned int nsectors) { struct ftl_struct_s *dev; finfo("sector: %d nsectors: %d\n", start_sector, nsectors); DEBUGASSERT(inode && inode->i_private); dev = (struct ftl_struct_s *)inode->i_private; #ifdef CONFIG_FTL_WRITEBUFFER return rwb_write(&dev->rwb, start_sector, nsectors, buffer); #else return ftl_flush(dev, buffer, start_sector, nsectors); #endif }