This patch series: * sync spinand driver code with linux-6.10 * sync spinand flash support with linux-6.10 * add initial support of ecc engines
Up to now only software ecc is supported, but other engines can be add quite easily Changes v2 * update description of some patches Changes v3: * split some patches to a smaller one for more easy checking/verification * sync spinand flash support with linux-6.10 * add some ecc engine comments (taken from linux driver) * slightly change patch order Changes v4: * avoid double increments of error counters Mikhail Kshevetskiy (10): mtd: spinand: Use the spi-mem dirmap API mtd: spinand: Add a NAND page I/O request type mtd: spinand: add missed add missed MODULE_DEVICE_TABLE() mtd: spinand: simulate behavior of linux's function spinand_wait() mtd: spinand: more use of spinand_to_{something} helpers mtd: spinand: replace enable_ecc variable with disable_ecc and update corresponding logic mtd: spinand: minor refactoring mtd: spinand: more refactoring mtd: spinand: sync supported flashes with linux-6.10 mtd: nand: add initial ecc engine support drivers/mtd/nand/Makefile | 2 +- drivers/mtd/nand/core.c | 130 +++++- drivers/mtd/nand/ecc.c | 249 ++++++++++ drivers/mtd/nand/spi/Makefile | 4 +- drivers/mtd/nand/spi/alliancememory.c | 155 ++++++ drivers/mtd/nand/spi/ato.c | 84 ++++ drivers/mtd/nand/spi/core.c | 649 ++++++++++++++++---------- drivers/mtd/nand/spi/esmt.c | 16 +- drivers/mtd/nand/spi/foresee.c | 97 ++++ drivers/mtd/nand/spi/gigadevice.c | 194 +++++++- drivers/mtd/nand/spi/macronix.c | 32 +- drivers/mtd/nand/spi/micron.c | 2 +- drivers/mtd/nand/spi/toshiba.c | 43 +- drivers/mtd/nand/spi/winbond.c | 67 ++- include/linux/mtd/nand.h | 279 ++++++++++- include/linux/mtd/spinand.h | 47 +- include/spi-mem.h | 2 + 17 files changed, 1778 insertions(+), 274 deletions(-) create mode 100644 drivers/mtd/nand/ecc.c create mode 100644 drivers/mtd/nand/spi/alliancememory.c create mode 100644 drivers/mtd/nand/spi/ato.c create mode 100644 drivers/mtd/nand/spi/foresee.c -- 2.45.2