[PATCH v3 00/10] mtd: nand: rework nand_ecc_ctrl interface for OOB
Brian Norris
computersforpeace at gmail.com
Fri Apr 27 21:29:44 EDT 2012
Hello again,
This is the third (final?) version of my patches to change the nand_chip and
nand_ecc_ctrl interfaces so that the nand_ecc_ctrl functions have information
about whether the higher layers actually need OOB data to be read/written
from/to the NAND device.
Changes for v3:
This version implements the boolean parameter 'int oob_required', where a
non-zero value indicates the driver must read/write OOB data to chip->oob_poi.
A zero value indicates apathy from the upper layer.
Patches 3-10 are new, where I try to utilize the 'oob_required' parameter for
a number of different drivers. Not all were easy (or even possible), since
software-based ECC obviously requires the OOB data in a buffer even when the
upper layer doesn't need it. Similarly, some "hardware ECC" seems to work off
of an in-memory buffer.
Please refer to previous communications for other info.
I could not compile all the affected drivers, since some required ARCH-specific
builds that I am not familiar with.
Developers: if you care about your driver, please compile test and review to be
sure I'm doing things safely for you.
Note to the maintainers: please do NOT accept any of the patches 3-10 without
an explicit ACK from someone who knows the driver. I think they're simple, but
I am not certain. And it is totally safe to ignore one or several of those
patches independently.
Thanks for reviewing!
Brian
Brian Norris (10):
mtd: nand: add 'oob_required' argument to NAND {read,write}_page
interfaces
mtd: nand: pass proper 'oob_required' parameter
mtd: Blackfin NFC: utilize oob_required parameter
mtd: cafe_nand: utilize oob_required parameter
mtd: denali: utilize oob_required parameter
mtd: eLBD NAND: utilize oob_required parameter
mtd: IFC NAND: utilize oob_required parameter
mtd: gpmi-nand: utilize oob_requested parameter
mtd: nand: utilize oob_required parameter
mtd: pxa3xx_nand: utilize oob_required parameter
drivers/mtd/nand/atmel_nand.c | 5 +-
drivers/mtd/nand/bcm_umi_bch.c | 10 +++--
drivers/mtd/nand/bcm_umi_nand.c | 2 +-
drivers/mtd/nand/bf5xx_nand.c | 10 +++--
drivers/mtd/nand/cafe_nand.c | 16 +++++---
drivers/mtd/nand/denali.c | 12 +++--
drivers/mtd/nand/docg4.c | 12 +++---
drivers/mtd/nand/fsl_elbc_nand.c | 17 ++++----
drivers/mtd/nand/fsl_ifc_nand.c | 16 ++++----
drivers/mtd/nand/fsmc_nand.c | 3 +-
drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 41 ++++++++++---------
drivers/mtd/nand/nand_base.c | 70 ++++++++++++++++++++------------
drivers/mtd/nand/pxa3xx_nand.c | 11 +++--
drivers/mtd/nand/sh_flctl.c | 4 +-
include/linux/mtd/nand.h | 11 +++--
15 files changed, 138 insertions(+), 102 deletions(-)
--
1.7.5.4.2.g519b1
More information about the linux-mtd
mailing list