]> git.sur5r.net Git - u-boot/blobdiff - include/nand.h
* Added VIA configuration table
[u-boot] / include / nand.h
index 29580da4fea795fce98d43449e2f3d3ac84e0969..905115b3dac4114a45cfcb257cc33652435c4cc7 100644 (file)
@@ -24,7 +24,7 @@
 #ifndef _NAND_H_
 #define _NAND_H_
 
-#include <linux_compat.h>
+#include <linux/mtd/compat.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/nand.h>
 
@@ -35,12 +35,12 @@ extern nand_info_t nand_info[];
 
 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)
@@ -50,7 +50,14 @@ 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