[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220324102537.074f3a73@xps13>
Date: Thu, 24 Mar 2022 10:25:37 +0100
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-mtd@...ts.infradead.org, Richard Weinberger <richard@....at>,
Tudor Ambarus <Tudor.Ambarus@...rochip.com>,
Vignesh Raghavendra <vigneshr@...com>,
Frieder Schrempf <frieder.schrempf@...tron.de>,
Michael Walle <michael@...le.cc>,
Pratyush Yadav <p.yadav@...com>, linux-kernel@...r.kernel.org
Subject: [GIT PULL] mtd: Changes for 5.18
Hello Linus,
This is the MTD PR for 5.18-rc1. As you can see, there has been a lot
of activity in the MTD subsystem recently, with a number of SPI-NOR
cleanups as well as the introduction of ECC engines that can be used by
SPI controllers (hence a few SPI patches in this PR).
Thanks,
Miquèl
The following changes since commit cfb92440ee71adcc2105b0890bb01ac3cddb8507:
Linux 5.17-rc5 (2022-02-20 13:07:20 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/changes-for-5.18
for you to fetch changes up to 6cadd424abb63120f8346a4509dc43bddc9401d3:
Merge tag 'nand/for-5.18' into mtd/next (2022-03-23 18:08:03 +0100)
----------------------------------------------------------------
Core MTD changes:
* Replace the expert mode symbols with a single helper
* Fix misuses of of_match_ptr()
* Remove partid and partname debugfs files
* tests: Fix eraseblock read speed miscalculation for lower partition sizes
* TRX parser: Allow to use on MediaTek MIPS SoCs
MTD driver changes:
* spear_smi: use GFP_KERNEL
* mchp48l640: Add SPI ID table
* mchp23k256: Add SPI ID table
* blkdevs: Avoid soft lockups with some mtd/spi devices
* aspeed-smc: Improve probe resilience
Hyperbus changes:
* HBMC_AM654 should depend on ARCH_K3
NAND core changes:
* ECC:
- Add infrastructure to support hardware engines
- Add a new helper to retrieve the ECC context
- Provide a helper to retrieve a pilelined engine device
NAND-ECC changes:
* Macronix ECC engine:
- Add Macronix external ECC engine support
- Support SPI pipelined mode
- Make two read-only arrays static const
- Fix compile test issue
Raw NAND core changes:
* Fix misuses of of_match_node()
* Rework of_get_nand_bus_width()
* Remove of_get_nand_on_flash_bbt() wrapper
* Protect access to rawnand devices while in suspend
* bindings: Document the wp-gpios property
Rax NAND controller driver changes:
* atmel: Fix refcount issue in atmel_nand_controller_init
* nandsim:
- Add NS_PAGE_BYTE_SHIFT macro to replace the repeat pattern
- Merge repeat codes in ns_switch_state
- Replace overflow check with kzalloc to single kcalloc
* rockchip: Fix platform_get_irq.cocci warning
* stm32_fmc2: Add NAND Write Protect support
* pl353: Set the nand chip node as the flash node
* brcmnand: Fix sparse warnings in bcma_nand
* omap_elm: Remove redundant variable 'errors'
* gpmi:
- Support fast edo timings for mx28
- Validate controller clock rate
- Fix controller timings setting
* brcmnand:
- Add BCMA shim
- BCMA controller uses command shift of 0
- Allow platform data instantation
- Add platform data structure for BCMA
- Allow working without interrupts
- Move OF operations out of brcmnand_init_cs()
- Avoid pdev in brcmnand_init_cs()
- Allow SoC to provide I/O operations
- Assign soc as early as possible
Onenand changes:
* Check for error irq
SPI-NAND core changes:
* Delay a little bit the dirmap creation
* Create direct mapping descriptors for ECC operations
SPI-NAND driver changes:
* macronix: Use random program load
SPI NOR core changes:
* Move vendor specific code out of the core into vendor drivers.
* Unify all function and object names in the vendor modules.
* Make setup() callback optional to improve readability.
* Skip erase logic when the SPI_NOR_NO_ERASE flag is set at flash
declaration.
SPI changes:
* Macronix SPI controller:
- Fix the transmit path
- Create a helper to configure the controller before an operation
- Create a helper to ease the start of an operation
- Add support for direct mapping
- Add support for pipelined ECC operations
* spi-mem:
- Introduce a capability structure
- Check the controller extra capabilities
- cadence-quadspi/mxic: Provide capability structures
- Kill the spi_mem_dtr_supports_op() helper
- Add an ecc parameter to the spi_mem_op structure
Binding changes:
* Dropped mtd/cortina,gemini-flash.txt
* Convert BCM47xx partitions to json-schema
* Vendor prefixes: Clarify Macronix prefix
* SPI NAND: Convert spi-nand description file to yaml
* Raw NAND chip: Create a NAND chip description
* Raw NAND controller:
- Harmonize the property types
- Fix a comment in the examples
- Fix the reg property description
* Describe Macronix NAND ECC engine
* Macronix SPI controller:
- Document the nand-ecc-engine property
- Convert to yaml
- The interrupt property is not mandatory
----------------------------------------------------------------
Amit Kumar Mahapatra (2):
mtd: rawnand: pl353: Set the nand chip node as the flash node
mtd: tests: Fix eraseblock read speed miscalculation for lower partition sizes
Christophe Kerello (2):
dt-binding: mtd: nand: Document the wp-gpios property
mtd: rawnand: stm32_fmc2: Add NAND Write Protect support
Colin Ian King (2):
mtd: rawnand: omap_elm: remove redundant variable 'errors'
mtd: nand: mxic-ecc: make two read-only arrays static const
Corentin Labbe (1):
dt-bindings: mtd: drop mtd/cortina,gemini-flash.txt
Dario Binacchi (3):
mtd: rawnand: gpmi: fix controller timings setting
mtd: rawnand: gpmi: validate controller clock rate
mtd: rawnand: gpmi: support fast edo timings for mx28
David Decotigny (1):
mtd_blkdevs: avoid soft lockups with some mtd/spi devices
Florian Fainelli (10):
mtd: rawnand: brcmnand: Assign soc as early as possible
mtd: rawnand: brcmnand: Allow SoC to provide I/O operations
mtd: rawnand: brcmnand: Avoid pdev in brcmnand_init_cs()
mtd: rawnand: brcmnand: Move OF operations out of brcmnand_init_cs()
mtd: rawnand: brcmnand: Allow working without interrupts
mtd: rawnand: brcmnand: Add platform data structure for BCMA
mtd: rawnand: brcmnand: Allow platform data instantation
mtd: rawnand: brcmnand: BCMA controller uses command shift of 0
mtd: rawnand: brcmnand: Add BCMA shim
mtd: rawnand: brcmnand: Fix sparse warnings in bcma_nand
Geert Uytterhoeven (1):
mtd: hyperbus: HBMC_AM654 should depend on ARCH_K3
INAGAKI Hiroshi (1):
mtd: parsers: trx: allow to use on MediaTek MIPS SoCs
Jiasheng Jiang (1):
mtd: onenand: Check for error irq
Julia Lawall (1):
mtd: spear_smi: use GFP_KERNEL
Mark Brown (2):
mtd: mchp23k256: Add SPI ID table
mtd: mchp48l640: Add SPI ID table
Mason Yang (1):
mtd: spinand: macronix: Use random program load
Michael Walle (32):
mtd: spi-nor: atmel: unify function names
mtd: spi-nor: catalyst: unify function names
mtd: spi-nor: eon: unify function names
mtd: spi-nor: esmt: unify function names
mtd: spi-nor: everspin: unify function names
mtd: spi-nor: fujitsu: unify function names
mtd: spi-nor: gigadevice: unify function names
mtd: spi-nor: intel: unify function names
mtd: spi-nor: issi: unify function names
mtd: spi-nor: macronix: unify function names
mtd: spi-nor: micron-st: unify function names
mtd: spi-nor: spansion: unify function names
mtd: spi-nor: sst: unify function names
mtd: spi-nor: winbond: unify function names
mtd: spi-nor: xilinx: unify function names
mtd: spi-nor: xmc: unify function names
mtd: spi-nor: slightly refactor the spi_nor_setup()
mtd: spi-nor: allow a flash to define its own ready() function
mtd: spi-nor: export more functions to be used in vendor modules
mtd: spi-nor: guard _page_size parameter in S3AN_INFO()
mtd: spi-nor: move all xilinx specifics into xilinx.c
mtd: spi-nor: xilinx: rename vendor specific functions and defines
mtd: spi-nor: xilinx: correct the debug message
mtd: spi-nor: move all micron-st specifics into micron-st.c
mtd: spi-nor: micron-st: convert USE_FSR to a manufacturer flag
mtd: spi-nor: micron-st: rename vendor specific functions and defines
mtd: spi-nor: spansion: slightly rework control flow in late_init()
mtd: spi-nor: move all spansion specifics into spansion.c
mtd: spi-nor: spansion: convert USE_CLSR to a manufacturer flag
mtd: spi-nor: spansion: rename vendor specific functions and defines
mtd: spi-nor: slightly change code style in spi_nor_sr_ready()
mtd: spi-nor: renumber flags
Miquel Raynal (35):
dt-bindings: mtd: nand-controller: Fix the reg property description
dt-bindings: mtd: nand-controller: Fix a comment in the examples
dt-bindings: mtd: nand-controller: Harmonize the property types
dt-bindings: mtd: nand-chip: Create a NAND chip description
dt-bindings: mtd: spi-nand: Convert spi-nand description file to yaml
dt-bindings: vendor-prefixes: Clarify Macronix prefix
dt-bindings: spi: mxic: The interrupt property is not mandatory
dt-bindings: spi: mxic: Convert to yaml
dt-bindings: spi: mxic: Document the nand-ecc-engine property
dt-bindings: mtd: Describe Macronix NAND ECC engine
mtd: nand: ecc: Add infrastructure to support hardware engines
mtd: nand: Add a new helper to retrieve the ECC context
mtd: Fix misuses of of_match_ptr()
mtd: rawnand: Fix misuses of of_match_node()
mtd: Replace the expert mode symbols with a single helper
mtd: nand: mxic-ecc: Add Macronix external ECC engine support
mtd: nand: ecc: Provide a helper to retrieve a pilelined engine device
mtd: nand: mxic-ecc: Support SPI pipelined mode
spi: spi-mem: Introduce a capability structure
spi: spi-mem: Check the controller extra capabilities
spi: cadence-quadspi: Provide a capability structure
spi: mxic: Provide a capability structure
spi: spi-mem: Kill the spi_mem_dtr_supports_op() helper
spi: spi-mem: Add an ecc parameter to the spi_mem_op structure
mtd: spinand: Delay a little bit the dirmap creation
mtd: spinand: Create direct mapping descriptors for ECC operations
spi: mxic: Fix the transmit path
spi: mxic: Create a helper to configure the controller before an operation
spi: mxic: Create a helper to ease the start of an operation
spi: mxic: Add support for direct mapping
spi: mxic: Add support for pipelined ECC operations
Merge tag 'mtd/spi-mem-ecc-for-5.18' into mtd/next
mtd: nand: ecc: mxic: Fix compile test issue
Merge tag 'spi-nor/for-5.18' into mtd/next
Merge tag 'nand/for-5.18' into mtd/next
Patrick Williams (1):
mtd: aspeed-smc: improve probe resilience
Rafał Miłecki (1):
dt-bindings: mtd: partitions: convert BCM47xx to the json-schema
RinHizakura (3):
mtd: rawnand: nandsim: Replace overflow check with kzalloc to single kcalloc
mtd: rawnand: nandsim: Merge repeat codes in ns_switch_state
mtd: rawnand: nandsim: Add NS_PAGE_BYTE_SHIFT macro to replace the repeat pattern
Sean Nyekjaer (1):
mtd: rawnand: protect access to rawnand devices while in suspend
Tudor Ambarus (4):
mtd: rawnand: Remove of_get_nand_on_flash_bbt() wrapper
mtd: rawnand: Rework of_get_nand_bus_width()
mtd: spi-nor: Skip erase logic when SPI_NOR_NO_ERASE is set
mtd: core: Remove partid and partname debugfs files
Xin Xiong (1):
mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
Yihao Han (1):
mtd: rawnand: rockchip: fix platform_get_irq.cocci warning
Documentation/devicetree/bindings/mtd/cortina,gemini-flash.txt | 24 ---
Documentation/devicetree/bindings/mtd/mtd-physmap.yaml | 18 +-
Documentation/devicetree/bindings/mtd/mxicy,nand-ecc-engine.yaml | 77 +++++++++
Documentation/devicetree/bindings/mtd/nand-chip.yaml | 70 ++++++++
Documentation/devicetree/bindings/mtd/nand-controller.yaml | 75 ++-------
Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt | 42 -----
Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml | 48 ++++++
Documentation/devicetree/bindings/mtd/spi-nand.txt | 5 -
Documentation/devicetree/bindings/mtd/spi-nand.yaml | 27 +++
Documentation/devicetree/bindings/spi/mxicy,mx25f0a-spi.yaml | 65 ++++++++
Documentation/devicetree/bindings/spi/spi-mxic.txt | 34 ----
Documentation/devicetree/bindings/vendor-prefixes.yaml | 3 +
MAINTAINERS | 1 +
drivers/bcma/driver_chipcommon_nflash.c | 20 ++-
drivers/mtd/devices/mchp23k256.c | 16 +-
drivers/mtd/devices/mchp48l640.c | 12 +-
drivers/mtd/devices/spear_smi.c | 2 +-
drivers/mtd/hyperbus/Kconfig | 2 +-
drivers/mtd/mtd_blkdevs.c | 1 +
drivers/mtd/mtdcore.c | 48 ++----
drivers/mtd/nand/Kconfig | 7 +
drivers/mtd/nand/Makefile | 1 +
drivers/mtd/nand/core.c | 12 +-
drivers/mtd/nand/ecc-mxic.c | 879 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/mtd/nand/ecc.c | 119 ++++++++++++++
drivers/mtd/nand/onenand/generic.c | 7 +-
drivers/mtd/nand/raw/Kconfig | 13 ++
drivers/mtd/nand/raw/atmel/nand-controller.c | 18 +-
drivers/mtd/nand/raw/atmel/pmecc.c | 4 +-
drivers/mtd/nand/raw/brcmnand/Makefile | 2 +
drivers/mtd/nand/raw/brcmnand/bcma_nand.c | 132 +++++++++++++++
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 162 ++++++++++++------
drivers/mtd/nand/raw/brcmnand/brcmnand.h | 29 ++++
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 27 ++-
drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c | 2 +-
drivers/mtd/nand/raw/ingenic/jz4780_bch.c | 2 +-
drivers/mtd/nand/raw/mtk_ecc.c | 2 +-
drivers/mtd/nand/raw/nand_base.c | 83 +++++-----
drivers/mtd/nand/raw/nand_bbt.c | 2 +-
drivers/mtd/nand/raw/nandsim.c | 47 ++----
drivers/mtd/nand/raw/omap2.c | 2 +-
drivers/mtd/nand/raw/omap_elm.c | 4 +-
drivers/mtd/nand/raw/pl35x-nand-controller.c | 2 +-
drivers/mtd/nand/raw/renesas-nand-controller.c | 2 +-
drivers/mtd/nand/raw/rockchip-nand-controller.c | 1 -
drivers/mtd/nand/raw/sh_flctl.c | 2 +-
drivers/mtd/nand/raw/stm32_fmc2_nand.c | 40 ++++-
drivers/mtd/nand/spi/core.c | 51 ++++--
drivers/mtd/nand/spi/macronix.c | 2 +-
drivers/mtd/parsers/Kconfig | 2 +-
drivers/mtd/spi-nor/atmel.c | 81 ++++-----
drivers/mtd/spi-nor/catalyst.c | 6 +-
drivers/mtd/spi-nor/controllers/aspeed-smc.c | 15 +-
drivers/mtd/spi-nor/core.c | 268 ++----------------------------
drivers/mtd/spi-nor/core.h | 70 ++++----
drivers/mtd/spi-nor/eon.c | 6 +-
drivers/mtd/spi-nor/esmt.c | 6 +-
drivers/mtd/spi-nor/everspin.c | 6 +-
drivers/mtd/spi-nor/fujitsu.c | 6 +-
drivers/mtd/spi-nor/gigadevice.c | 6 +-
drivers/mtd/spi-nor/intel.c | 6 +-
drivers/mtd/spi-nor/issi.c | 10 +-
drivers/mtd/spi-nor/macronix.c | 14 +-
drivers/mtd/spi-nor/micron-st.c | 259 +++++++++++++++++++++++------
drivers/mtd/spi-nor/spansion.c | 168 ++++++++++++++-----
drivers/mtd/spi-nor/sst.c | 44 ++---
drivers/mtd/spi-nor/winbond.c | 29 ++--
drivers/mtd/spi-nor/xilinx.c | 97 +++++++++--
drivers/mtd/spi-nor/xmc.c | 6 +-
drivers/mtd/tests/speedtest.c | 11 +-
drivers/spi/Kconfig | 1 +
drivers/spi/spi-cadence-quadspi.c | 10 +-
drivers/spi/spi-mem.c | 32 ++--
drivers/spi/spi-mxic.c | 340 +++++++++++++++++++++++++++++++-------
include/linux/bcma/bcma_driver_chipcommon.h | 5 +
include/linux/mtd/mtd.h | 11 +-
include/linux/mtd/nand-ecc-mxic.h | 49 ++++++
include/linux/mtd/nand.h | 49 ++++++
include/linux/mtd/rawnand.h | 2 +
include/linux/mtd/spi-nor.h | 18 --
include/linux/mtd/spinand.h | 2 +
include/linux/platform_data/brcmnand.h | 12 ++
include/linux/spi/spi-mem.h | 26 +--
include/linux/spi/spi.h | 3 +
84 files changed, 2922 insertions(+), 1000 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mtd/cortina,gemini-flash.txt
create mode 100644 Documentation/devicetree/bindings/mtd/mxicy,nand-ecc-engine.yaml
create mode 100644 Documentation/devicetree/bindings/mtd/nand-chip.yaml
delete mode 100644 Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.txt
create mode 100644 Documentation/devicetree/bindings/mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml
delete mode 100644 Documentation/devicetree/bindings/mtd/spi-nand.txt
create mode 100644 Documentation/devicetree/bindings/mtd/spi-nand.yaml
create mode 100644 Documentation/devicetree/bindings/spi/mxicy,mx25f0a-spi.yaml
delete mode 100644 Documentation/devicetree/bindings/spi/spi-mxic.txt
create mode 100644 drivers/mtd/nand/ecc-mxic.c
create mode 100644 drivers/mtd/nand/raw/brcmnand/bcma_nand.c
create mode 100644 include/linux/mtd/nand-ecc-mxic.h
create mode 100644 include/linux/platform_data/brcmnand.h
Powered by blists - more mailing lists