>>> +#define CFG_LINUX_COMPATIBLE_ECC >>> + */ >> It seems odd that backwards compatibility requires turning *off* an >> option with "compatible" in the name... I'd invert the sense of the >> ifdef, and have it be something like CFG_BROKEN_ECC_COMPATIBILITY. > > The concern with this is people that use their own custom config > files will need to add this #define when they upgrade. How about > just changing the name to CFG_NEW_NAND_ECC_FORMAT then?
I like CFG_NEW_NAND_ECC_FORMAT better as well. > #if defined(CFG_NAND_LARGEPAGE) && !defined(CFG_LINUX_COMPATIBLE_ECC) > /* Comment this #error out only if you really really have to. */ > #error "You are using old ECC code that is broken on large page devices. See > doc/README.davinci" > #endif > > This forces the user to make a choice - they'll probably curse while > they're doing it, but they can't plead ignorance when they find > their large page NAND isn't detecting ECC errors. > I like this too. Maybe a #warning for small pages as well. Of course both would also depend on #ifdef CFG_NAND_HW_ECC. >> Perhaps we could use some currently unused OOB byte as a marker >> for new/old ECC layout? > > Could do, but any filesystems which use the OOB bytes might step on > these. It also complicates the code even moreso and creates a lot > more scenarios to test and that could go wrong. > > I really do believe it should be a clean switch from one format to > the other, for both small and large page NAND, with no run-time > backwards compatibility. But that's just my POV. I hope that eventually we can remove the old format, but this patch has my ack. Thanks Bernard Troy ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users