static int femu_WritePageWithLayout_wrap(uffs_Device *dev, u32 block, u32 page, const u8* data, int data_len, const u8 *ecc, const uffs_TagStore *ts) { uffs_FileEmu *emu = (uffs_FileEmu *)(dev->attr->_private); int ret; //printf("femu: Write block %d page %d data %d spare %d\n", block, page, data_len, spare_len); ret = emu->ops_orig.WritePageWithLayout(dev, block, page, data, data_len, ecc, ts); InjectBitFlip(dev, block, page); return ret; }
static int femu_WritePageWithLayout_wrap(uffs_Device *dev, u32 block, u32 page, const u8* data, int data_len, const u8 *ecc, const uffs_TagStore *ts) { uffs_FileEmu *emu = (uffs_FileEmu *)(dev->attr->_private); int ret; #ifdef UFFS_FEMU_SHOW_FLASH_IO if (data || ts) { MSG(PFX " Write block %d page %d", block, page); if (data) MSG(" DATA[%d]", data_len); if (ts) MSG(" TS"); MSG(TENDSTR); } #endif ret = emu->ops_orig.WritePageWithLayout(dev, block, page, data, data_len, ecc, ts); InjectBitFlip(dev, block, page); return ret; }
static int femu_WritePage_wrap(uffs_Device *dev, u32 block, u32 page, const u8 *data, int data_len, const u8 *spare, int spare_len) { uffs_FileEmu *emu = (uffs_FileEmu *)(dev->attr->_private); int ret; #ifdef UFFS_FEMU_SHOW_FLASH_IO if (data || spare) { MSG(PFX " Write block %d page %d", block, page); if (data) MSG(" DATA[%d]", data_len); if (spare) MSG(" SPARE[%d]", spare_len); MSG(TENDSTR); } #endif ret = emu->ops_orig.WritePage(dev, block, page, data, data_len, spare, spare_len); InjectBitFlip(dev, block, page); return ret; }