static inline int nand_read(nand_info_t *info, ulong ofs, ulong *len, u_char *buf)
{
- return info->read(info, ofs, *len, len, buf);
+ return info->read(info, ofs, *len, (size_t *)len, buf);
}
static inline int nand_write(nand_info_t *info, ulong ofs, ulong *len, u_char *buf)
{
- return info->write(info, ofs, *len, len, buf);
+ return info->write(info, ofs, *len, (size_t *)len, buf);
}
static inline int nand_block_isbad(nand_info_t *info, ulong ofs)
static inline int nand_erase(nand_info_t *info, ulong off, ulong size)
{
- return 0; /* FIXME */
+ struct erase_info instr;
+
+ instr.mtd = info;
+ instr.addr = off;
+ instr.len = size;
+ instr.callback = 0;
+
+ return info->erase(info, &instr);
}
#endif