[GIT PULL] mtd: nand: Changes for 5.11

Miquel Raynal miquel.raynal at bootlin.com
Tue Dec 15 10:04:50 EST 2020


Hello,

This is the NAND PR for 5.11.

Thanks,
Miquèl

The following changes since commit b65054597872ce3aefbc6a666385eabdf9e288da:

  Linux 5.10-rc6 (2020-11-29 15:50:50 -0800)

are available in the Git repository at:

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

for you to fetch changes up to ee4e0eafa43cfd9008722fe15e17b8bf62fb6e8d:

  mtd: spinand: macronix: Add support for MX35LFxG24AD (2020-12-10 22:37:54 +0100)

----------------------------------------------------------------
Generic NAND core:
* ECC management:
  - Add an I/O request tweaking mechanism
  - Entire rework of the software BCH ECC driver, creation of a real
    ECC engine, getting rid of raw NAND structures, migration to more
    generic prototypes, misc fixes and style cleanup. Moved now to the
    Generic NAND layer.
  - Entire rework of the software Hamming ECC driver, creation of a
    real ECC engine, getting rid of raw NAND structures, misc renames,
    comment updates, cleanup, and style fixes. Moved now to the
    generic NAND layer.
  - Necessary plumbing at the NAND level to retrieve generic NAND ECC
    engines (softwares and on-die).
  - Update of the bindings.

Raw NAND core:
* Geting rid of the chip->ecc.priv entry.
* Fix miscellaneous typos in kernel-doc

Raw NAND controller drivers:
* AU1550: Ensure the presence of the right includes
* Davinci: Do not use extra dereferencing
* GPMI:
  - Fix the driver only sense CS0 R/B issue
  - Fix the random DMA timeout issue
  - Use a single line for of_device_id
  - Use of_device_get_match_data()
  - Fix reference count leak in gpmi ops
  - Cleanup makefile
  - Fix binding matching of clocks on different SoCs
* Ingenic: remove redundant get_device() in ingenic_ecc_get()
* Intel LGM: New NAND controller driver
* Marvell: Drop useless line
* Meson:
  - Fix a resource leak in init
  - Fix meson_nfc_dma_buffer_release() arguments
* mxc:
  - Use device_get_match_data()
  - Use a single line for of_device_id
  - Remove platform data support
* Qcom:
  - Add support for SDX55
  - Support for IPQ6018 QPIC NAND controller
  - Fix DMA sync on FLASH_STATUS register read
* Rockchip: New NAND controller driver for RK3308, RK2928 and others
* Sunxi: Add MDMA support

SPI-NAND core:
* Creation of a SPI-NAND on-die ECC engine
* Move ECC related definitions earlier in the driver
* Fix typo in comment
* Fill a default ECC provider/algorithm
* Remove outdated comment
* Fix OOB read
* Allow the case where there is no ECC engine
* Use the external ECC engine logic

SPI-NAND chip drivers:
* Micron:
  - Add support for MT29F2G01AAAED
  - Use more specific names
* Macronix:
  - Add support for MX35LFxG24AD
  - Add support for MX35LFxGE4AD

Others:
* onenand: Use mtd->oops_panic_write as condition
* plat-ram: correctly free memory on error path in platram_probe()

----------------------------------------------------------------
Baskov Evgeiny (1):
      mtd: plat-ram: correctly free memory on error path in platram_probe()

Dan Carpenter (1):
      mtd: rawnand: meson: Fix a resource leak in init

Fabio Estevam (5):
      mtd: rawnand: mxc: Remove platform data support
      mtd: rawnand: gpmi: Use of_device_get_match_data()
      mtd: rawnand: mxc: Use device_get_match_data()
      mtd: rawnand: mxc: Use a single line for of_device_id
      mtd: rawnand: gpmi: Use a single line for of_device_id

Han Xu (2):
      mtd: rawnand: gpmi: Fix the driver only sense CS0 R/B issue
      mtd: rawnand: gpmi: Fix the random DMA timeout issue

Kathiravan T (2):
      dt-bindings: qcom_nandc: IPQ6018 QPIC NAND documentation
      mtd: rawnand: qcom: Support for IPQ6018 QPIC NAND controller

Krzysztof Kozlowski (1):
      dt-bindings: mtd: gpmi-nand: Fix matching of clocks on different SoCs

Manivannan Sadhasivam (2):
      dt-bindings: qcom_nandc: Add SDX55 QPIC NAND documentation
      mtd: rawnand: qcom: Add NAND controller support for SDX55

Manuel Dipolt (1):
      mtd: rawnand: sunxi: Add MDMA support

Marco Felsch (1):
      mtd: rawnand: gpmi: cleanup makefile

Mauro Carvalho Chehab (1):
      mtd: rawnand: fix a kernel-doc markup

Miquel Raynal (37):
      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
      mtd: spinand: Fix typo in comment
      mtd: spinand: Move ECC related definitions earlier in the driver
      mtd: spinand: Instantiate a SPI-NAND on-die ECC engine
      mtd: nand: Let on-die ECC engines be retrieved from the NAND core
      mtd: spinand: Fill a default ECC provider/algorithm
      mtd: nand: Add helpers to manage ECC engines and configurations
      dt-bindings: mtd: Deprecate nand-ecc-mode
      mtd: spinand: Use the external ECC engine logic
      mtd: spinand: Allow the case where there is no ECC engine
      mtd: spinand: Fix OOB read
      mtd: spinand: Remove outdated comment
      mtd: nand: ecc-hamming: Clarify the logic around rp17
      docs: mtd: Avoid htmldocs warnings
      mtd: nand: Change dependency between the NAND and ECC cores
      mtd: rawnand: au1550: Ensure the presence of the right includes
      mtd: rawnand: davinci: Do not use extra dereferencing
      mtd: rawnand: marvell: Drop useless line

Praveenkumar I (1):
      mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read

Ramuthevar Vadivel Murugan (2):
      dt-bindings: mtd: Add Nand Flash Controller support for Intel LGM SoC
      mtd: rawnand: Add NAND controller support on Intel LGM SoC

Sergei Antonov (1):
      mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments

Thirumalesha Narasimhappa (2):
      mtd: spinand: micron: Use more specific names
      mtd: spinand: micron: Add support for MT29F2G01AAAED

Thomas Gleixner (1):
      mtd: onenand: Use mtd->oops_panic_write as condition

Yifeng Zhao (2):
      dt-bindings: mtd: Describe Rockchip RK3xxx NAND flash controller
      mtd: rawnand: rockchip: NFC driver for RK3308, RK2928 and others

YouChing Lin (2):
      mtd: spinand: macronix: Add support for MX35LFxGE4AD
      mtd: spinand: macronix: Add support for MX35LFxG24AD

Yu Kuai (1):
      mtd: rawnand: ingenic: remove redundant get_device() in ingenic_ecc_get()

Zhang Qilong (1):
      mtd: rawnand: gpmi: fix reference count leak in gpmi ops

 Documentation/devicetree/bindings/mtd/gpmi-nand.yaml               |   76 +-
 Documentation/devicetree/bindings/mtd/intel,lgm-nand.yaml          |   99 ++
 Documentation/devicetree/bindings/mtd/nand-controller.yaml         |   11 +-
 Documentation/devicetree/bindings/mtd/qcom_nandc.txt               |    4 +
 .../devicetree/bindings/mtd/rockchip,nand-controller.yaml          |  161 ++++
 Documentation/driver-api/mtd/nand_ecc.rst                          |    2 +-
 Documentation/driver-api/mtdnand.rst                               |    3 -
 arch/arm/mach-s3c/common-smdk-s3c24xx.c                            |    2 +-
 arch/arm/mach-s3c/mach-anubis.c                                    |    2 +-
 arch/arm/mach-s3c/mach-at2440evb.c                                 |    2 +-
 arch/arm/mach-s3c/mach-bast.c                                      |    2 +-
 arch/arm/mach-s3c/mach-gta02.c                                     |    2 +-
 arch/arm/mach-s3c/mach-jive.c                                      |    2 +-
 arch/arm/mach-s3c/mach-mini2440.c                                  |    2 +-
 arch/arm/mach-s3c/mach-osiris.c                                    |    2 +-
 arch/arm/mach-s3c/mach-qt2410.c                                    |    2 +-
 arch/arm/mach-s3c/mach-rx3715.c                                    |    2 +-
 arch/arm/mach-s3c/mach-vstms.c                                     |    2 +-
 drivers/mtd/Kconfig                                                |    1 +
 drivers/mtd/maps/plat-ram.c                                        |   11 +-
 drivers/mtd/nand/Kconfig                                           |   33 +-
 drivers/mtd/nand/Makefile                                          |    2 +
 drivers/mtd/nand/core.c                                            |  124 +++
 drivers/mtd/nand/ecc-sw-bch.c                                      |  406 ++++++++
 drivers/mtd/nand/{raw/nand_ecc.c => ecc-sw-hamming.c}              |  315 ++++--
 drivers/mtd/nand/ecc.c                                             |  140 ++-
 drivers/mtd/nand/onenand/onenand_omap2.c                           |   16 +-
 drivers/mtd/nand/raw/Kconfig                                       |   45 +-
 drivers/mtd/nand/raw/Makefile                                      |    4 +-
 drivers/mtd/nand/raw/au1550nd.c                                    |    1 +
 drivers/mtd/nand/raw/cs553x_nand.c                                 |    3 +-
 drivers/mtd/nand/raw/davinci_nand.c                                |   38 +-
 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/gpmi-nand/Makefile                            |    3 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c                         |   76 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-regs.h                         |    1 +
 drivers/mtd/nand/raw/ingenic/ingenic_ecc.c                         |    2 -
 drivers/mtd/nand/raw/intel-nand-controller.c                       |  721 ++++++++++++++
 drivers/mtd/nand/raw/lpc32xx_mlc.c                                 |    1 -
 drivers/mtd/nand/raw/lpc32xx_slc.c                                 |    3 +-
 drivers/mtd/nand/raw/marvell_nand.c                                |    6 -
 drivers/mtd/nand/raw/meson_nand.c                                  |    7 +-
 drivers/mtd/nand/raw/mxc_nand.c                                    |   94 +-
 drivers/mtd/nand/raw/mxic_nand.c                                   |    2 +-
 drivers/mtd/nand/raw/nand_base.c                                   |  204 ++--
 drivers/mtd/nand/raw/nand_bbt.c                                    |    2 +-
 drivers/mtd/nand/raw/nand_bch.c                                    |  219 -----
 drivers/mtd/nand/raw/nand_legacy.c                                 |    9 +-
 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/qcom_nandc.c                                  |   74 +-
 drivers/mtd/nand/raw/rockchip-nand-controller.c                    | 1495 +++++++++++++++++++++++++++++
 drivers/mtd/nand/raw/s3c2410.c                                     |    1 -
 drivers/mtd/nand/raw/sharpsl.c                                     |    3 +-
 drivers/mtd/nand/raw/sunxi_nand.c                                  |  148 +--
 drivers/mtd/nand/raw/tmio_nand.c                                   |    7 +-
 drivers/mtd/nand/raw/txx9ndfmc.c                                   |    5 +-
 drivers/mtd/nand/spi/Kconfig                                       |    1 +
 drivers/mtd/nand/spi/core.c                                        |  286 ++++--
 drivers/mtd/nand/spi/macronix.c                                    |   47 +
 drivers/mtd/nand/spi/micron.c                                      |  124 ++-
 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                                           |   56 ++
 include/linux/mtd/nand_bch.h                                       |   66 --
 include/linux/mtd/nand_ecc.h                                       |   39 -
 include/linux/mtd/rawnand.h                                        |   19 +-
 include/linux/mtd/sharpsl.h                                        |    1 -
 include/linux/mtd/spinand.h                                        |    9 +
 include/linux/platform_data/mtd-mxc_nand.h                         |   19 -
 77 files changed, 4540 insertions(+), 998 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/intel,lgm-nand.yaml
 create mode 100644 Documentation/devicetree/bindings/mtd/rockchip,nand-controller.yaml
 create mode 100644 drivers/mtd/nand/ecc-sw-bch.c
 rename drivers/mtd/nand/{raw/nand_ecc.c => ecc-sw-hamming.c} (61%)
 create mode 100644 drivers/mtd/nand/raw/intel-nand-controller.c
 delete mode 100644 drivers/mtd/nand/raw/nand_bch.c
 create mode 100644 drivers/mtd/nand/raw/rockchip-nand-controller.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
 delete mode 100644 include/linux/platform_data/mtd-mxc_nand.h



More information about the linux-mtd mailing list