[GIT PULL] mtd: nand: Changes for 5.10

Miquel Raynal miquel.raynal at bootlin.com
Sun Oct 11 15:55:39 EDT 2020


Hello,

This is the NAND PR for 5.10.

Cheers,
Miquèl



The following changes since commit d012a7190fc1fd72ed48911e77ca97ba4521bccd:

  Linux 5.9-rc2 (2020-08-23 14:08:43 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/nand/for-5.10

for you to fetch changes up to 88e315d12fbb50c0bd12549bb04a051a4b4bc744:

  mtd: onenand: simplify the return expression of onenand_transfer_auto_oob (2020-09-30 16:44:17 +0200)

----------------------------------------------------------------
NAND core changes:
* Use the new generic ECC object
* Create helpers to set/extract the ECC requirements
* Create a helper to extract the ECC configuration
* Add a NAND page I/O request type
* Introduce the ECC engine framework

Raw NAND core changes:
* Don't overwrite the error code from nand_set_ecc_soft_ops()
* Introduce nand_set_ecc_on_host_ops()
* Use the NAND framework user_conf object for ECC flags
* Use the ECC framework user input parsing bits
* Use the ECC framework nand_ecc_is_strong_enough() helper
* Use the ECC framework OOB layouts
* Make use of the ECC framework
* Use nanddev_get/set_ecc_requirements() when relevant
* Use the new ECC engine type enumeration
* Separate the ECC engine type and the ECC byte placement
* Move the nand_ecc_algo enum to the generic NAND layer
* Rename the ECC algorithm enumeration items
* Add a kernel doc to the ECC algorithm enumeration
* DT bindings:
  - Document boolean NAND ECC properties
  - Document nand-ecc-engine
  - Document nand-ecc-placement

Raw NAND drivers changes:
* Ams-Delta: Fix non-OF build warning
* Atmel:
  - Check return values for nand_read_data_op
  - Simplify with dev_err_probe()
  - Get rid of the legacy interface implementation
  - Convert the driver to exec_op()
  - Use nand_prog_page_end_op()
  - Use nand_{write,read}_data_op()
  - Drop redundant nand_read_page_op()
  - Enable the NFC controller at probe time
  - Disable clk on error handling path in probe
* Cadence: remove a redundant dev_err call
* Gpmi:
  - Simplify with dev_err_probe()
* Marvell:
  - Fix and update kerneldoc
  - Simplify with dev_err_probe()
  - Fix and update kerneldoc
  - Simplify with dev_err_probe()
  - Support panic_write for mtdoops
* Onenand:
  - Simplify the return expression of onenand_transfer_auto_oob
  - Simplify with dev_err_probe()
* Oxnas: cleanup/simplify code
* Pasemi: Make pasemi_device_ready() static
* Qcom: Simplify with dev_err_probe()
* Stm32_fmc2: fix a buffer overflow
* Vf610: Remove unused function vf610_nfc_transfer_size()

SPI-NAND changes:
* Use nanddev_get_ecc_conf() when relevant
* Gigadevice:
  - Add support for GD5F4GQ4xC
  - Add QE Bit
  - Use only one dummy byte in QUADIO
* Macronix:
  - Add support for MX31UF1GE4BC
  - Add support for MX31LF1GE4BC

----------------------------------------------------------------
Alex Dewar (1):
      mtd: rawnand: atmel: Check return values for nand_read_data_op

Boris Brezillon (6):
      mtd: rawnand: atmel: Enable the NFC controller at probe time
      mtd: rawnand: atmel: Drop redundant nand_read_page_op()
      mtd: rawnand: atmel: Use nand_{write,read}_data_op()
      mtd: rawnand: atmel: Use nand_prog_page_end_op()
      mtd: rawnand: atmel: Convert the driver to exec_op()
      mtd: rawnand: atmel: Get rid of the legacy interface implementation

Chris Packham (1):
      mtd: rawnand: marvell: Support panic_write for mtdoops

Christophe Kerello (1):
      mtd: rawnand: stm32_fmc2: fix a buffer overflow

Evgeny Novikov (1):
      mtd: rawnand: vf610: disable clk on error handling path in probe

Hauke Mehrtens (3):
      mtd: spinand: gigadevice: Only one dummy byte in QUADIO
      mtd: spinand: gigadevice: Add QE Bit
      mtd: spinand: gigadevice: Add support for GD5F4GQ4xC

Janusz Krzysztofik (1):
      mtd: rawnand: ams-delta: Fix non-OF build warning

Krzysztof Kozlowski (6):
      mtd: onenand: Simplify with dev_err_probe()
      mtd: rawnand: atmel: Simplify with dev_err_probe()
      mtd: rawnand: gpmi: Simplify with dev_err_probe()
      mtd: rawnand: marvell: Simplify with dev_err_probe()
      mtd: rawnand: marvell: Fix and update kerneldoc
      mtd: rawnand: qcom: Simplify with dev_err_probe()

Liu Shixin (2):
      mtd: rawnand: cadence: remove a redundant dev_err call
      mtd: onenand: simplify the return expression of onenand_transfer_auto_oob

Miquel Raynal (20):
      mtd: rawnand: Add a kernel doc to the ECC algorithm enumeration
      mtd: rawnand: Rename the ECC algorithm enumeration items
      mtd: rawnand: Move the nand_ecc_algo enum to the generic NAND layer
      mtd: nand: Add a NAND page I/O request type
      dt-bindings: mtd: Document nand-ecc-placement
      dt-bindings: mtd: Document nand-ecc-engine
      dt-bindings: mtd: Document boolean NAND ECC properties
      mtd: nand: Introduce the ECC engine framework
      mtd: rawnand: Separate the ECC engine type and the ECC byte placement
      mtd: rawnand: Use the new ECC engine type enumeration
      mtd: nand: Create a helper to extract the ECC configuration
      mtd: spinand: Use nanddev_get_ecc_conf() when relevant
      mtd: nand: Create helpers to set/extract the ECC requirements
      mtd: rawnand: Use nanddev_get/set_ecc_requirements() when relevant
      mtd: nand: Use the new generic ECC object
      mtd: rawnand: Make use of the ECC framework
      mtd: rawnand: Use the ECC framework OOB layouts
      mtd: rawnand: Use the ECC framework nand_ecc_is_strong_enough() helper
      mtd: rawnand: Use the ECC framework user input parsing bits
      mtd: rawnand: Use the NAND framework user_conf object for ECC flags

Pavel Machek (1):
      mtd: rawnand: oxnas: cleanup/simplify code

Tudor Ambarus (2):
      mtd: rawnand: Introduce nand_set_ecc_on_host_ops()
      mtd: rawnand: Don't overwrite the error code from nand_set_ecc_soft_ops()

Wei Yongjun (1):
      mtd: rawnand: pasemi: Make pasemi_device_ready() static

YouChing Lin (2):
      mtd: spinand: macronix: Add support for MX31LF1GE4BC
      mtd: spinand: macronix: Add support for MX31UF1GE4BC

YueHaibing (1):
      mtd: rawnand: vf610: Remove unused function vf610_nfc_transfer_size()

 Documentation/devicetree/bindings/mtd/nand-controller.yaml |  31 ++++++
 arch/arm/mach-davinci/board-da830-evm.c                    |   2 +-
 arch/arm/mach-davinci/board-da850-evm.c                    |   2 +-
 arch/arm/mach-davinci/board-dm355-evm.c                    |   2 +-
 arch/arm/mach-davinci/board-dm355-leopard.c                |   3 +-
 arch/arm/mach-davinci/board-dm365-evm.c                    |   2 +-
 arch/arm/mach-davinci/board-dm644x-evm.c                   |   2 +-
 arch/arm/mach-davinci/board-dm646x-evm.c                   |   2 +-
 arch/arm/mach-davinci/board-mityomapl138.c                 |   2 +-
 arch/arm/mach-davinci/board-neuros-osd2.c                  |   2 +-
 arch/arm/mach-davinci/board-omapl138-hawk.c                |   2 +-
 arch/arm/mach-s3c24xx/common-smdk.c                        |   2 +-
 arch/arm/mach-s3c24xx/mach-anubis.c                        |   2 +-
 arch/arm/mach-s3c24xx/mach-at2440evb.c                     |   2 +-
 arch/arm/mach-s3c24xx/mach-bast.c                          |   2 +-
 arch/arm/mach-s3c24xx/mach-gta02.c                         |   2 +-
 arch/arm/mach-s3c24xx/mach-jive.c                          |   2 +-
 arch/arm/mach-s3c24xx/mach-mini2440.c                      |   2 +-
 arch/arm/mach-s3c24xx/mach-osiris.c                        |   2 +-
 arch/arm/mach-s3c24xx/mach-qt2410.c                        |   2 +-
 arch/arm/mach-s3c24xx/mach-rx1950.c                        |   2 +-
 arch/arm/mach-s3c24xx/mach-rx3715.c                        |   2 +-
 arch/arm/mach-s3c24xx/mach-vstms.c                         |   2 +-
 arch/arm/mach-s3c64xx/mach-hmt.c                           |   2 +-
 arch/arm/mach-s3c64xx/mach-mini6410.c                      |   2 +-
 arch/arm/mach-s3c64xx/mach-real6410.c                      |   2 +-
 drivers/mtd/nand/Kconfig                                   |   8 ++
 drivers/mtd/nand/Makefile                                  |   2 +
 drivers/mtd/nand/ecc.c                                     | 484 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/mtd/nand/onenand/onenand_base.c                    |   9 +-
 drivers/mtd/nand/onenand/onenand_omap2.c                   |   5 +-
 drivers/mtd/nand/raw/Kconfig                               |   1 +
 drivers/mtd/nand/raw/ams-delta.c                           |   6 +-
 drivers/mtd/nand/raw/arasan-nand-controller.c              |  16 ++--
 drivers/mtd/nand/raw/atmel/nand-controller.c               | 515 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------
 drivers/mtd/nand/raw/au1550nd.c                            |   4 +-
 drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c           |   3 +-
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                   |  28 +++---
 drivers/mtd/nand/raw/cadence-nand-controller.c             |  12 +--
 drivers/mtd/nand/raw/cafe_nand.c                           |   3 +-
 drivers/mtd/nand/raw/cs553x_nand.c                         |   2 +-
 drivers/mtd/nand/raw/davinci_nand.c                        |  38 ++++----
 drivers/mtd/nand/raw/denali.c                              |   3 +-
 drivers/mtd/nand/raw/denali_pci.c                          |   2 +-
 drivers/mtd/nand/raw/diskonchip.c                          |   3 +-
 drivers/mtd/nand/raw/fsl_elbc_nand.c                       |  20 ++--
 drivers/mtd/nand/raw/fsl_ifc_nand.c                        |  12 +--
 drivers/mtd/nand/raw/fsl_upm.c                             |   4 +-
 drivers/mtd/nand/raw/fsmc_nand.c                           |  14 +--
 drivers/mtd/nand/raw/gpio.c                                |   4 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c                 |  21 ++--
 drivers/mtd/nand/raw/hisi504_nand.c                        |   6 +-
 drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c            |  20 ++--
 drivers/mtd/nand/raw/lpc32xx_mlc.c                         |   2 +-
 drivers/mtd/nand/raw/lpc32xx_slc.c                         |   3 +-
 drivers/mtd/nand/raw/marvell_nand.c                        | 101 +++++++++++++-------
 drivers/mtd/nand/raw/meson_nand.c                          |   2 +-
 drivers/mtd/nand/raw/mpc5121_nfc.c                         |   4 +-
 drivers/mtd/nand/raw/mtk_nand.c                            |  12 ++-
 drivers/mtd/nand/raw/mxc_nand.c                            |  25 ++---
 drivers/mtd/nand/raw/nand_base.c                           | 568 ++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------
 drivers/mtd/nand/raw/nand_bch.c                            |   1 +
 drivers/mtd/nand/raw/nand_esmt.c                           |  15 ++-
 drivers/mtd/nand/raw/nand_hynix.c                          |  44 +++++----
 drivers/mtd/nand/raw/nand_jedec.c                          |   9 +-
 drivers/mtd/nand/raw/nand_micron.c                         |  23 +++--
 drivers/mtd/nand/raw/nand_onfi.c                           |  17 +++-
 drivers/mtd/nand/raw/nand_samsung.c                        |  22 +++--
 drivers/mtd/nand/raw/nand_toshiba.c                        |  19 ++--
 drivers/mtd/nand/raw/nandsim.c                             |   8 +-
 drivers/mtd/nand/raw/ndfc.c                                |   2 +-
 drivers/mtd/nand/raw/omap2.c                               |  22 ++---
 drivers/mtd/nand/raw/orion_nand.c                          |   4 +-
 drivers/mtd/nand/raw/oxnas_nand.c                          |   3 +-
 drivers/mtd/nand/raw/pasemi_nand.c                         |   6 +-
 drivers/mtd/nand/raw/plat_nand.c                           |   4 +-
 drivers/mtd/nand/raw/qcom_nandc.c                          |  26 ++---
 drivers/mtd/nand/raw/r852.c                                |   3 +-
 drivers/mtd/nand/raw/s3c2410.c                             |  20 ++--
 drivers/mtd/nand/raw/sh_flctl.c                            |   6 +-
 drivers/mtd/nand/raw/sharpsl.c                             |   2 +-
 drivers/mtd/nand/raw/socrates_nand.c                       |   5 +-
 drivers/mtd/nand/raw/stm32_fmc2_nand.c                     |  11 ++-
 drivers/mtd/nand/raw/sunxi_nand.c                          |  27 +++---
 drivers/mtd/nand/raw/tango_nand.c                          |   4 +-
 drivers/mtd/nand/raw/tegra_nand.c                          |  37 ++++----
 drivers/mtd/nand/raw/tmio_nand.c                           |   2 +-
 drivers/mtd/nand/raw/txx9ndfmc.c                           |   2 +-
 drivers/mtd/nand/raw/vf610_nfc.c                           |  17 ++--
 drivers/mtd/nand/raw/xway_nand.c                           |   4 +-
 drivers/mtd/nand/spi/core.c                                |  12 +--
 drivers/mtd/nand/spi/gigadevice.c                          |  63 ++++++++++--
 drivers/mtd/nand/spi/macronix.c                            |  27 +++++-
 drivers/mtd/nand/spi/toshiba.c                             |   6 +-
 include/linux/mtd/nand.h                                   | 188 ++++++++++++++++++++++++++++++++++--
 include/linux/mtd/rawnand.h                                |  34 ++-----
 include/linux/platform_data/mtd-davinci.h                  |   9 +-
 include/linux/platform_data/mtd-nand-s3c2410.h             |   2 +-
 98 files changed, 1746 insertions(+), 1004 deletions(-)
 create mode 100644 drivers/mtd/nand/ecc.c





More information about the linux-mtd mailing list