[Yaffs] Yaffs and MTD
Nick Bane
nick at cecomputing.co.uk
Tue Dec 13 17:35:37 GMT 2005
My kernel can cope with both 512 and 2k page NAND. It uses nand_ecc for
2k and yaffs_ecc for 512 for legacy reasons.
>
>
>> if (yaffsVersion == 1 && mtd->oobblock == 2048) {
>> printk(KERN_INFO "yaffs: auto selecting yaffs2\n");
>> yaffsVersion = 2;
>> }
>
So I add after #ifndef CONFIG_YAFFS_DOES_ECC .. #endif
/* NCB force NANDECC if yaffs2 */
if (yaffsVersion == 2)
dev->useNANDECC = 1;
Better to use a specific CONFIG option probably.
NB to all 2.4.x backporters: I note that the new yaffs_mtdif2.c computes
an address to pass to mtd->block_isbad and mtd->block_markbad rather
than a block index. This breaks by old 2.4.25 port. Use an if
(LINUX_VERSION_CODE ...) round the relevant places and use
mtd->block_xxxbad(mtd,blockNo) instead.
Nick
More information about the yaffs
mailing list