[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