[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