[GIT PULL] mtd: Changes for v5.11-rc1

Miquel Raynal miquel.raynal at bootlin.com
Wed Dec 16 13:04:17 EST 2020


Hello Linus,

This is the MTD PR for v5.11-rc1

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/mtd/for-5.11

for you to fetch changes up to 4c9e94dff65ca75b917ff0b5de2e44881062a8e8:

  Merge tags 'spi-nor/for-5.11' and 'nand/for-5.11' into mtd/next (2020-12-16 18:48:16 +0100)

----------------------------------------------------------------
MTD core:
* Fix refcounting for unpartitioned MTDs
* Fix misspelled function parameter 'section'
* Remove unneeded break
* cmdline parser: Fix parsing of part-names with colons
* mtdpart: Fix misdocumented function parameter 'mtd'

MTD devices:
* phram:
  - Allow the user to set the erase page size
  - File headers are not good candidates for kernel-doc
* physmap-bt1-rom: Fix __iomem addrspace removal warning
* plat-ram: correctly free memory on error path in platram_probe()
* powernv_flash: Add function names to headers and fix 'dev'
* docg3: Fix kernel-doc 'bad line' and 'excessive doc' issues

UBI cleanup fixes:
* gluebi: Fix misnamed function parameter documentation
* wl: Fix a couple of kernel-doc issues
* eba: Fix a couple of misdocumentation issues
* kapi: Correct documentation for 'ubi_leb_read_sg's 'sgl' parameter
* Document 'ubi_num' in struct mtd_dev_param

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:
* Arasan: Document 'anfc_op's 'buf' member
* AU1550: Ensure the presence of the right includes
* Brcmnand: Demote non-conformant kernel-doc headers
* Cafe: Remove superfluous param doc and add another
* Davinci: Do not use extra dereferencing
* Diskonchip: Marking unused variables as __always_unused
* 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
* Omap:
  - Fix a bunch of kernel-doc misdemeanours
  - Finish ELM half populated function header, demote empty ones
* s3c2410: Add documentation for 2 missing struct members
* Sunxi: Document 'sunxi_nfc's 'caps' member
* 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

ONENAND:
* bbt: Fix expected kernel-doc formatting
* Fix some kernel-doc misdemeanours
* Fix expected kernel-doc formatting
* Use mtd->oops_panic_write as condition

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
* Toshiba: Demote non-conformant kernel-doc header

SPI-NOR core:
* Initial support for stateful Octal DTR mode using volatile settings
* Preliminary support for JEDEC 251 (xSPI) and JEDEC 216D standards
* Support for Cypress Semper flash
* Support to specify ECC block size of SPI NOR flashes
* Fixes to avoid clearing of non-volatile Block Protection bits at
  probe
* hisi-sfc: Demote non-conformant kernel-doc

----------------------------------------------------------------
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

Jonathan Neuschäfer (1):
      mtd: spi-nor: Fix multiple typos

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

Lee Jones (23):
      mtd: mtdpart: Fix misdocumented function parameter 'mtd'
      mtd: devices: phram: File headers are not good candidates for kernel-doc
      mtd: onenand: onenand_base: Fix expected kernel-doc formatting
      mtd: devices: docg3: Fix kernel-doc 'bad line' and 'excessive doc' issues
      mtd: Fix misspelled function parameter 'section'
      mtd: onenand: onenand_bbt: Fix expected kernel-doc formatting
      mtd: spi-nor: hisi-sfc: Demote non-conformant kernel-doc
      mtd: ubi: build: Document 'ubi_num' in struct mtd_dev_param
      mtd: spinand: toshiba: Demote non-conformant kernel-doc header
      mtd: ubi: kapi: Correct documentation for 'ubi_leb_read_sg's 'sgl' parameter
      mtd: ubi: eba: Fix a couple of misdocumentation issues
      mtd: ubi: wl: Fix a couple of kernel-doc issues
      mtd: rawnand: brcmnand: Demote non-conformant kernel-doc headers
      mtd: ubi: gluebi: Fix misnamed function parameter documentation
      mtd: rawnand: diskonchip: Marking unused variables as __always_unused
      mtd: rawnand: cafe_nand: Remove superfluous param doc and add another
      mtd: rawnand: s3c2410: Add documentation for 2 missing struct members
      mtd: rawnand: omap_elm: Finish half populated function header, demote empty ones
      mtd: rawnand: omap2: Fix a bunch of kernel-doc misdemeanours
      mtd: rawnand: sunxi: Document 'sunxi_nfc's 'caps' member
      mtd: rawnand: arasan: Document 'anfc_op's 'buf' member
      mtd: onenand: Fix some kernel-doc misdemeanours
      mtd: devices: powernv_flash: Add function names to headers and fix 'dev'

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

Michael Walle (7):
      mtd: spi-nor: sst: fix BPn bits for the SST25VF064C
      mtd: spi-nor: ignore errors in spi_nor_unlock_all()
      mtd: spi-nor: atmel: remove global protection flag
      mtd: spi-nor: sst: remove global protection flag
      mtd: spi-nor: intel: remove global protection flag
      mtd: spi-nor: atmel: fix unlock_all() for AT25FS010/040
      mtd: spi-nor: keep lock bits if they are non-volatile

Miquel Raynal (38):
      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
      Merge tags 'spi-nor/for-5.11' and 'nand/for-5.11' into mtd/next

Patrick O'Grady (1):
      mtd: phram: Allow the user to set the erase page size.

Pratyush Yadav (15):
      mtd: spi-nor: core: use EOPNOTSUPP instead of ENOTSUPP
      mtd: spi-nor: add spi_nor_controller_ops_{read_reg, write_reg, erase}()
      mtd: spi-nor: add support for DTR protocol
      mtd: spi-nor: sfdp: get command opcode extension type from BFPT
      mtd: spi-nor: sfdp: parse xSPI Profile 1.0 table
      mtd: spi-nor: core: use dummy cycle and address width info from SFDP
      mtd: spi-nor: core: do 2 byte reads for SR and FSR in DTR mode
      mtd: spi-nor: core: enable octal DTR mode when possible
      mtd: spi-nor: sfdp: detect Soft Reset sequence support from BFPT
      mtd: spi-nor: core: perform a Soft Reset on shutdown
      mtd: spi-nor: core: disable Octal DTR mode on suspend.
      mtd: spi-nor: spansion: add support for Cypress Semper flash
      mtd: spi-nor: micron-st: allow using MT35XU512ABA in Octal DTR mode
      mtd: spi-nor: core: Allow flashes to specify MTD writesize
      mtd: spi-nor: spansion: Set ECC block size

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

Richard Weinberger (1):
      mtd: core: Fix refcounting for unpartitioned MTDs

Serge Semin (1):
      mtd: physmap: physmap-bt1-rom: Fix __iomem addrspace removal warning

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

Sven Eckelmann (1):
      mtd: parser: cmdline: Fix parsing of part-names with colons

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

Tom Rix (1):
      mtd: remove unneeded break

Tudor Ambarus (2):
      mtd: spi-nor: Introduce SNOR_F_IO_MODE_EN_VOLATILE
      mtd: spi-nor: Parse SFDP SCCR Map

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/devices/docg3.c                                        |    5 +-
 drivers/mtd/devices/phram.c                                        |   54 +-
 drivers/mtd/devices/powernv_flash.c                                |    5 +-
 drivers/mtd/maps/physmap-bt1-rom.c                                 |    8 +-
 drivers/mtd/maps/plat-ram.c                                        |   11 +-
 drivers/mtd/mtdchar.c                                              |    2 -
 drivers/mtd/mtdcore.c                                              |    6 +-
 drivers/mtd/mtdpart.c                                              |    2 +-
 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_base.c                            |  444 +++++----
 drivers/mtd/nand/onenand/onenand_bbt.c                             |   32 +-
 drivers/mtd/nand/onenand/onenand_omap2.c                           |   16 +-
 drivers/mtd/nand/raw/Kconfig                                       |   45 +-
 drivers/mtd/nand/raw/Makefile                                      |    4 +-
 drivers/mtd/nand/raw/arasan-nand-controller.c                      |    1 +
 drivers/mtd/nand/raw/au1550nd.c                                    |    1 +
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                           |    6 +-
 drivers/mtd/nand/raw/cafe_nand.c                                   |    2 +-
 drivers/mtd/nand/raw/cs553x_nand.c                                 |    3 +-
 drivers/mtd/nand/raw/davinci_nand.c                                |   38 +-
 drivers/mtd/nand/raw/diskonchip.c                                  |    4 +-
 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                                       |   49 +-
 drivers/mtd/nand/raw/omap_elm.c                                    |    7 +-
 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                                     |    5 +-
 drivers/mtd/nand/raw/sharpsl.c                                     |    3 +-
 drivers/mtd/nand/raw/sunxi_nand.c                                  |  149 +--
 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/nand/spi/toshiba.c                                     |    2 +-
 drivers/mtd/parsers/cmdlinepart.c                                  |   14 +-
 drivers/mtd/sm_ftl.c                                               |   30 +-
 drivers/mtd/spi-nor/Kconfig                                        |   44 +
 drivers/mtd/spi-nor/atmel.c                                        |  191 +++-
 drivers/mtd/spi-nor/controllers/hisi-sfc.c                         |    2 +-
 drivers/mtd/spi-nor/core.c                                         |  597 +++++++++---
 drivers/mtd/spi-nor/core.h                                         |   38 +
 drivers/mtd/spi-nor/esmt.c                                         |    2 +-
 drivers/mtd/spi-nor/intel.c                                        |   19 +-
 drivers/mtd/spi-nor/micron-st.c                                    |  115 ++-
 drivers/mtd/spi-nor/sfdp.c                                         |  172 +++-
 drivers/mtd/spi-nor/sfdp.h                                         |    8 +
 drivers/mtd/spi-nor/spansion.c                                     |  172 ++++
 drivers/mtd/spi-nor/sst.c                                          |   32 +-
 drivers/mtd/tests/mtd_nandecctest.c                                |   31 +-
 drivers/mtd/ubi/build.c                                            |    1 +
 drivers/mtd/ubi/eba.c                                              |    3 +-
 drivers/mtd/ubi/gluebi.c                                           |    2 +-
 drivers/mtd/ubi/kapi.c                                             |    2 +-
 drivers/mtd/ubi/wl.c                                               |    3 +-
 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/spi-nor.h                                        |   55 +-
 include/linux/mtd/spinand.h                                        |    9 +
 include/linux/platform_data/mtd-mxc_nand.h                         |   19 -
 111 files changed, 6110 insertions(+), 1503 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