[PATCH 00/20] Create generic software ECC engines
Miquel Raynal
miquel.raynal at bootlin.com
Tue Sep 29 19:01:04 EDT 2020
The point of this series is to migrate Hamming and BCH ECC engine
drivers to the generic NAND core. There is nothing raw NAND specific
in this code and these drivers should be usable by eg. the SPI-NAND
subsytem.
Thanks,
Miquèl
Miquel Raynal (20):
mtd: nand: ecc: Add an I/O request tweaking mechanism
mtd: nand: ecc-bch: Move BCH code to the generic NAND layer
mtd: nand: ecc-bch: Cleanup and style fixes
mtd: nand: ecc-bch: Stop exporting the private structure
mtd: nand: ecc-bch: Return only valid error codes
mtd: nand: ecc-bch: Drop mtd_nand_has_bch()
mtd: nand: ecc-bch: Update the prototypes to be more generic
mtd: nand: ecc-bch: Stop using raw NAND structures
mtd: nand: ecc-bch: Create the software BCH engine
mtd: rawnand: Get rid of chip->ecc.priv
mtd: nand: ecc-hamming: Move Hamming code to the generic NAND layer
mtd: nand: ecc-hamming: Clarify the driver descriptions
mtd: nand: ecc-hamming: Drop/fix the kernel doc
mtd: nand: ecc-hamming: Cleanup and style fixes
mtd: nand: ecc-hamming: Rename the exported functions
mtd: nand: ecc-hamming: Stop using raw NAND structures
mtd: nand: ecc-hamming: Remove useless includes
mtd: nand: ecc-hamming: Let the software Hamming ECC engine be
unselected
mtd: nand: ecc-hamming: Create the software Hamming engine
mtd: nand: Let software ECC engines be retrieved from the NAND core
arch/arm/mach-s3c24xx/common-smdk.c | 1 -
arch/arm/mach-s3c24xx/mach-anubis.c | 1 -
arch/arm/mach-s3c24xx/mach-at2440evb.c | 1 -
arch/arm/mach-s3c24xx/mach-bast.c | 1 -
arch/arm/mach-s3c24xx/mach-gta02.c | 1 -
arch/arm/mach-s3c24xx/mach-jive.c | 1 -
arch/arm/mach-s3c24xx/mach-mini2440.c | 1 -
arch/arm/mach-s3c24xx/mach-osiris.c | 1 -
arch/arm/mach-s3c24xx/mach-qt2410.c | 1 -
arch/arm/mach-s3c24xx/mach-rx3715.c | 1 -
arch/arm/mach-s3c24xx/mach-vstms.c | 1 -
drivers/mtd/nand/Kconfig | 31 ++
drivers/mtd/nand/Makefile | 2 +
drivers/mtd/nand/ecc-sw-bch.c | 404 ++++++++++++++++++
.../nand/{raw/nand_ecc.c => ecc-sw-hamming.c} | 312 +++++++++++---
drivers/mtd/nand/ecc.c | 126 ++++++
drivers/mtd/nand/raw/Kconfig | 23 +-
drivers/mtd/nand/raw/Makefile | 2 -
drivers/mtd/nand/raw/cs553x_nand.c | 3 +-
drivers/mtd/nand/raw/fsl_elbc_nand.c | 1 -
drivers/mtd/nand/raw/fsl_ifc_nand.c | 1 -
drivers/mtd/nand/raw/fsl_upm.c | 1 -
drivers/mtd/nand/raw/fsmc_nand.c | 5 +-
drivers/mtd/nand/raw/lpc32xx_mlc.c | 1 -
drivers/mtd/nand/raw/lpc32xx_slc.c | 3 +-
drivers/mtd/nand/raw/mxic_nand.c | 2 +-
drivers/mtd/nand/raw/nand_base.c | 204 ++++++---
drivers/mtd/nand/raw/nand_bch.c | 218 ----------
drivers/mtd/nand/raw/nandsim.c | 3 +-
drivers/mtd/nand/raw/ndfc.c | 3 +-
drivers/mtd/nand/raw/omap2.c | 31 +-
drivers/mtd/nand/raw/pasemi_nand.c | 1 -
drivers/mtd/nand/raw/s3c2410.c | 1 -
drivers/mtd/nand/raw/sharpsl.c | 3 +-
drivers/mtd/nand/raw/sunxi_nand.c | 31 +-
drivers/mtd/nand/raw/tmio_nand.c | 7 +-
drivers/mtd/nand/raw/txx9ndfmc.c | 5 +-
drivers/mtd/sm_ftl.c | 30 +-
drivers/mtd/tests/mtd_nandecctest.c | 31 +-
include/linux/mtd/nand-ecc-sw-bch.h | 73 ++++
include/linux/mtd/nand-ecc-sw-hamming.h | 91 ++++
include/linux/mtd/nand.h | 51 +++
include/linux/mtd/nand_bch.h | 66 ---
include/linux/mtd/nand_ecc.h | 39 --
include/linux/mtd/rawnand.h | 16 +-
include/linux/mtd/sharpsl.h | 1 -
46 files changed, 1256 insertions(+), 577 deletions(-)
create mode 100644 drivers/mtd/nand/ecc-sw-bch.c
rename drivers/mtd/nand/{raw/nand_ecc.c => ecc-sw-hamming.c} (61%)
delete mode 100644 drivers/mtd/nand/raw/nand_bch.c
create mode 100644 include/linux/mtd/nand-ecc-sw-bch.h
create mode 100644 include/linux/mtd/nand-ecc-sw-hamming.h
delete mode 100644 include/linux/mtd/nand_bch.h
delete mode 100644 include/linux/mtd/nand_ecc.h
--
2.20.1
More information about the linux-mtd
mailing list