linux/drivers/mtd
Ezequiel García fef775caa7 nand: omap2: Add support for flash-based bad block table
This commit adds a new platform-data boolean property that enables use
of a flash-based bad block table. This can also be enabled by setting
the 'nand-on-flash-bbt' devicetree property.

If the flash BBT is not enabled, the driver falls back to use OOB
bad block markers only, as before. If the flash BBT is enabled the
kernel will keep track of bad blocks using a BBT, in addition to
the OOB markers.

As explained by Brian Norris the reasons for using a BBT are:

""
The primary reason would be that NAND datasheets specify it these days.
A better argument is that nobody guarantees that you can write a
bad block marker to a worn out block; you may just get program failures.

This has been acknowledged by several developers over the last several
years.

Additionally, you get a boot-time performance improvement if you only
have to read a few pages, instead of a page or two from every block on
the flash.
""

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2014-09-17 01:02:48 -07:00
..
chips Merge l2-mtd/next into l2-mtd/master 2014-08-19 11:57:23 -07:00
devices mtd: Fixed checkpatch seq_printf warnings 2014-08-19 11:53:07 -07:00
lpddr mtd: lpddr: fix Kconfig dependency, for I/O accessors 2014-05-26 10:38:25 -07:00
maps mtd: gpio_flash: handle case where offset + len exceeds the window size 2014-08-19 11:53:10 -07:00
nand nand: omap2: Add support for flash-based bad block table 2014-09-17 01:02:48 -07:00
onenand mtd: onenand: remove s5pc100 related onenand codes 2014-07-13 07:35:14 +09:00
spi-nor mtd: spi-nor: drop jedec_probe /helper/ function 2014-08-19 11:53:10 -07:00
tests mtd: tests: fix integer overflow issues 2014-08-19 11:53:08 -07:00
ubi UBI: bugfix in ubi_wl_flush() 2014-07-28 19:07:33 +03:00
afs.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ar7part.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
bcm47xxpart.c mtd: bcm47xxpart: allow enabling on ARCH_BCM_5301X 2014-03-10 22:42:29 -07:00
bcm63xxpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
cmdlinepart.c mtd: cmdlinepart: Spelling s/trucate/truncate/ 2014-07-02 15:17:15 -07:00
ftl.c mtd/ftl: fix the double free of the buffers allocated in build_maps() 2014-07-14 18:41:20 -07:00
inftlcore.c
inftlmount.c mtd: delete non-required instances of include <linux/init.h> 2014-03-10 22:42:22 -07:00
Kconfig mtd: spi-nor: add the framework for SPI NOR 2014-04-14 11:22:58 -07:00
Makefile mtd: spi-nor: shorten Kconfig naming 2014-04-14 11:23:01 -07:00
mtd_blkdevs.c MTD updates for 3.16: 2014-06-11 08:35:34 -07:00
mtdblock_ro.c
mtdblock.c
mtdchar.c mtd: terminate user-provided string 2014-08-19 11:53:09 -07:00
mtdconcat.c
mtdcore.c mtd: remove dead non-char logic 2014-08-19 11:53:08 -07:00
mtdcore.h
mtdoops.c
mtdpart.c mtd: Account for BBT blocks when a partition is being allocated 2014-07-08 18:38:29 -07:00
mtdsuper.c
mtdswap.c mtd: use __packed shorthand 2014-08-19 11:53:08 -07:00
nftlcore.c
nftlmount.c
ofpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
redboot.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
rfd_ftl.c mtd: remove some duplicative checks 2014-03-10 22:42:25 -07:00
sm_ftl.c mtd: sm_ftl: initialize error code 2014-08-19 11:53:07 -07:00
sm_ftl.h
ssfdc.c