[PATCH 00/12] mtd: various "no ECC" and MLC NAND work
Brian Norris
computersforpeace at gmail.com
Tue Aug 30 21:45:35 EDT 2011
Hi,
This patch series includes edited versions of several patches and RFCs -
some changed some not - as well as new material and documentation. To
avoid confusion, I will not include any version numbers yet (i.e.,
everything is "v1"), and any updates from here on out can be v2, v3,
etc. if necessary. I will try to include any important changes in the
comments though.
The key additions in this patch series are:
(1) add replaceable `{read,write}_oob_raw()' functions to
`struct nand_chip'
(2) add a new ioctl(MEMWRITE)
(3) improve documentation
Patches for category (1) help improve support for reading/writing flash
without ECC on systems that calculate ECC on OOB operations. Category
(2) allows us to write data+OOB in a single operation; this solves
problems with MLC NAND, which can only be written once per page. And
category (3) was sorely needed for old and new functionality alike :)
Generally, these fixes have been tested by using various combinations of
nandwrite on nandsim, SLC NAND flash, and MLC NAND flash. In order to
utilize the new ioctl, I had to make some custom edits. I should have a
few patches soon to support this new stuff.
Note: the first and last patches are bugfixes to patches that are still
queued in l2-mtd-2.6.git. They probably should be squashed into the
relevant patches.
Brian
Brian Norris (12):
mtd: nand: initialize chip->oob_poi before write
mtd: support writing OOB without ECC
mtd: support reading OOB without ECC
mtd: move mtd_oob_mode_t to shared kernel/user space
mtd: rename MTD_OOB_* to MTD_OPS_*
mtd: rename MTD_MODE_* to MTD_FILE_MODE_*
mtd: add MEMWRITE ioctl
mtd: nand: document nand_chip.oob_poi
mtd: document ABI
mtd: nand: kill member `ops' of `struct nand_chip'
mtd: kill old field for `struct mtd_info_user'
mtd: nand: free allocated memory
drivers/mtd/devices/doc2000.c | 4 +-
drivers/mtd/devices/doc2001.c | 4 +-
drivers/mtd/devices/doc2001plus.c | 4 +-
drivers/mtd/inftlcore.c | 6 +-
drivers/mtd/mtdchar.c | 115 ++++++++++++++++++++++++--------
drivers/mtd/mtdpart.c | 2 +-
drivers/mtd/mtdswap.c | 6 +-
drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 +-
drivers/mtd/nand/nand_base.c | 107 ++++++++++++++++++-----------
drivers/mtd/nand/nand_bbt.c | 8 +-
drivers/mtd/nand/sm_common.c | 2 +-
drivers/mtd/nftlcore.c | 6 +-
drivers/mtd/onenand/onenand_base.c | 42 ++++++------
drivers/mtd/onenand/onenand_bbt.c | 2 +-
drivers/mtd/sm_ftl.c | 4 +-
drivers/mtd/ssfdc.c | 2 +-
drivers/mtd/tests/mtd_oobtest.c | 24 +++---
drivers/mtd/tests/mtd_readtest.c | 2 +-
drivers/staging/spectra/lld_mtd.c | 6 +-
fs/jffs2/wbuf.c | 6 +-
include/linux/mtd/mtd.h | 18 +-----
include/linux/mtd/nand.h | 12 ++-
include/mtd/mtd-abi.h | 115 +++++++++++++++++++++++++++-----
23 files changed, 329 insertions(+), 170 deletions(-)
--
1.7.5.4
More information about the linux-mtd
mailing list