X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=mtdemul%2Fnandemul2k.c;h=4d25aaabf08fc0b15d246d98a7c48fac4dbe3b5c;hb=438da1051458a91812a26316414380ed540ec754;hp=eef68dd6d30d54574db699541133dd1ac131a204;hpb=60cbacc6973295a28491aa4964d0141cc0b6cb27;p=yaffs2.git diff --git a/mtdemul/nandemul2k.c b/mtdemul/nandemul2k.c index eef68dd..4d25aaa 100644 --- 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 @@ -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 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 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) @@ -557,8 +559,8 @@ static int nand_erase (struct mtd_info *mtd, struct erase_info *instr) 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++) {