projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix error in conditional define (and move it after header)
[yaffs2.git]
/
mtdemul
/
nandemul2k.c
diff --git
a/mtdemul/nandemul2k.c
b/mtdemul/nandemul2k.c
index eef68dd6d30d54574db699541133dd1ac131a204..bcbf16ad1c9c6df641ca17beada59f27d3dcccdc 100644
(file)
--- a/
mtdemul/nandemul2k.c
+++ b/
mtdemul/nandemul2k.c
@@
-1,7
+1,7
@@
/*
/*
- * YAFFS: Yet
another FFS. A NAND-flash specific file system.
+ * YAFFS: Yet
Another Flash File System. A NAND-flash specific file system.
*
*
- * Copyright (C) 2002 Aleph One Ltd.
+ * Copyright (C) 2002
-2007
Aleph One Ltd.
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
@@
-9,8
+9,9
@@
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
- *
- *
+ */
+
+/*
* This version hacked for emulating 2kpage NAND for YAFFS2 testing.
*/
* This version hacked for emulating 2kpage NAND for YAFFS2 testing.
*/
@@
-44,13
+45,14
@@
-#define EM_SIZE_IN_MEG 4
-#define PAGE_DATA_SIZE (2048)
-#define PAGE_SPARE_SIZE (64)
-#define PAGES_PER_BLOCK (64)
#define NAND_SHIFT (11) // Shifter for 2k
#define NAND_SHIFT (11) // Shifter for 2k
+#define PAGE_DATA_SIZE (1 << NAND_SHIFT)
+#define PAGE_SPARE_SIZE (64)
+#define BLK_SHIFT 6
+#define PAGES_PER_BLOCK (1 << BLK_SHIFT) // = 64
+#define EM_SIZE_IN_MEG 4
#define EM_SIZE_IN_BYTES (EM_SIZE_IN_MEG * (1<<20))
#define PAGE_TOTAL_SIZE (PAGE_DATA_SIZE+PAGE_SPARE_SIZE)
#define EM_SIZE_IN_BYTES (EM_SIZE_IN_MEG * (1<<20))
#define PAGE_TOTAL_SIZE (PAGE_DATA_SIZE+PAGE_SPARE_SIZE)
@@
-557,8
+559,8
@@
static int nand_erase (struct mtd_info *mtd, struct erase_info *instr)
return -EINVAL;
}
return -EINVAL;
}
- nBlocks = instr->len >> (NAND_SHIFT +
5
);
- block = instr->addr >> (NAND_SHIFT +
5
);
+ nBlocks = instr->len >> (NAND_SHIFT +
BLK_SHIFT
);
+ block = instr->addr >> (NAND_SHIFT +
BLK_SHIFT
);
for(i = 0; i < nBlocks; i++)
{
for(i = 0; i < nBlocks; i++)
{
@@
-566,7
+568,9
@@
static int nand_erase (struct mtd_info *mtd, struct erase_info *instr)
block++;
}
block++;
}
+ instr->state = MTD_ERASE_DONE; * change state to ERASE_DONE */
+ instr->callback(instr); * wake up */
return 0;
return 0;