[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