mtd: nand: add support for BBT without OOB
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Thu, 30 Sep 2010 19:28:01 +0000 (21:28 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sun, 24 Oct 2010 23:53:48 +0000 (00:53 +0100)
commit7cba7b14fe179969d7217cca52e28519d7d6ca89
tree89d423a12c9f72d990b3e1a8fb394e08bbe2514b
parentdf5b4e343c52fcdc54db3f9d07068c98cda6007b
mtd: nand: add support for BBT without OOB

The first (sixt) byte in the OOB area contains vendor's bad block
information. During identification of the NAND chip this information is
collected by scanning the complete chip.
The option NAND_USE_FLASH_BBT is used to store this information in a sector so
we don't have to scan the complete flash. Unfortunately the code stores
a marker in order to recognize the BBT in the OOB area. This will fail
if the OOB area is completely used for ECC.
This patch introduces the option NAND_USE_FLASH_BBT_NO_OOB which has to be
used with NAND_USE_FLASH_BBT. It will then store BBT on flash without
touching the OOB area. The BBT format on flash remains same except the
first page starts with the recognition pattern followed by the version byte.
This change was tested in nandsim and it looks good so far :)

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/nand_bbt.c
include/linux/mtd/bbm.h
include/linux/mtd/nand.h