[GIT PULL] mtd: Changes for 6.12-rc1

Miquel Raynal
2024-09-15T10:53:55Z

Hello Linus,

This is the MTD PR for v6.12-rc1.

Thanks,
Miquèl

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 869acb874f2b61c34063b677c2bd29595bf446a1:

Merge tag 'nand/for-6.12' into mtd/next (2024-09-15 12:38:22 +0200)

----------------------------------------------------------------
* MTD changes

No particularly important patchset this cycle, but we have a few usual
improvements: like using a better/more recent helper or checking a
return value.

* Raw NAND changes

The use of for_each_child_of_node_scoped() has been spread into the
subsystem drivers. Aside from that, a couple of exit path have been
fixed (mtk, denali), the TI GPMC bindings have been enhanced to comply
with up-to-date partition descriptions and as always there is a load of
small and misc fixes.

* SPI-NAND changes

The most impacting series this cycle is bringing support for continuous
reads in the SPI-NAND subsystem. This is a feature already merged in the
raw NAND subsystem which allows optimizing the internal fetch times in
the chip while reading sequential pages within an eraseblock. For now
only Macronix NANDs benefit from this feature. While we are talking
about Macronix, some of their chip need an explicit action for selecting
a different plane, and support for it has also been brought.

The bitflip threshold has also been set to the same arbitrary level as
in the raw NAND subsystem to optimize wear leveling decisions, and
finally support for a new Winbond chip has been added.

* SPI NOR changes

Notable changes:
- Add Write Protect support for N25Q064A.
- New flash support for Zetta ZD25Q128C and Spansion S28HS256T.
- Fix a NULL dereference in probe path for flashes without a name. The
probe path tries to access the name without checking its existence
first. S28HS256T is the first flash to define its entry without a
name, uncovering this issue.

----------------------------------------------------------------
Alexander Dahl (1):
mtd: rawnand: atmel: Add message on DMA usage

Bartosz Golaszewski (1):
mtd: rawnand: davinci: make platform_data private

Brian Norris (1):
mtd: spi-nor: micron-st: Add n25q064a WP support

Charles Han (1):
mtd: powernv: Add check devm_kasprintf() returned value

Chen Ridong (1):
mtd: rawnand: denali: Fix missing pci_release_regions in probe and remove

Cheng Ming Lin (2):
mtd: spinand: Add support for setting plane select bits
mtd: spinand: macronix: Flag parts needing explicit plane select

Colin Ian King (1):
mtd: parsers: bcm47xxpart: make read-only array possible_nvram_sizes static const

Csókás, Bence (1):
mtd: spi-nor: sst: Factor out common write operation to `sst_nor_write_data()`

Daniel Golle (1):
mtd: spinand: set bitflip_threshold to 75% of ECC strength

Jinjie Ruan (11):
mtd: rawnand: denali: Use the devm_clk_get_enabled() helper function
mtd: rawnand: arasan: Use for_each_child_of_node_scoped()
mtd: rawnand: cadence: Use for_each_child_of_node_scoped()
mtd: rawnand: pl353: Use for_each_child_of_node_scoped()
mtd: rawnand: marvell: drm/rockchip: Use for_each_child_of_node_scoped()
mtd: rawnand: rockchip: Use for_each_child_of_node_scoped()
mtd: rawnand: meson: Use for_each_child_of_node_scoped()
mtd: rawnand: mtk: Use for_each_child_of_node_scoped()
mtd: rawnand: renesas: Use for_each_child_of_node_scoped()
mtd: rawnand: stm32_fmc2: Use for_each_child_of_node_scoped()
mtd: rawnand: sunxi: Use for_each_child_of_node_scoped()

Michael Walle (2):
mtd: spi-nor: winbond: add Zetta ZD25Q128C support
mtd: spi-nor: fix flash probing

Miquel Raynal (14):
mtd: nand: Rename the NAND IO iteration helper
mtd: nand: Introduce a block iterator
mtd: spi-nand: Isolate the MTD read logic in a helper
mtd: spi-nand: Add continuous read support
mtd: spi-nand: Expose spinand_write_reg_op()
mtd: spi-nand: macronix: Fix helper name
mtd: spi-nand: macronix: Extract the bitflip retrieval logic
mtd: spi-nand: macronix: Add a possible bitflip status flag
mtd: spi-nand: macronix: Continuous read support
mtd: rawnand: meson: Fix typo in function name
mtd: rawnand: mtk: Factorize out the logic cleaning mtk chips
mtd: rawnand: mtk: Fix init error path
Merge tag 'spi-nor/for-6.12' into mtd/next
Merge tag 'nand/for-6.12' into mtd/next

Mirsad Todorovac (1):
mtd: slram: insert break after errors in parsing the map

Rob Herring (Arm) (1):
mtd: Use of_property_read_bool()

Robert Marko (1):
mtd: spinand: winbond: add support for W25N01KV

Roger Quadros (1):
dt-bindings: mtd: ti, gpmc-nand: support partitions node

Takahiro Kuwano (1):
mtd: spi-nor: spansion: Add support for S28HS256T

Yan Zhen (1):
mtd: concat: Use kmemdup_array instead of kmemdup for multiple allocation

Documentation/devicetree/bindings/mtd/ti,gpmc-nand.yaml | 5 +-
drivers/mtd/devices/powernv_flash.c | 3 +
drivers/mtd/devices/slram.c | 2 +
drivers/mtd/mtdconcat.c | 2 +-
drivers/mtd/nand/raw/arasan-nand-controller.c | 5 +-
drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +-
drivers/mtd/nand/raw/cadence-nand-controller.c | 4 +-
drivers/mtd/nand/raw/davinci_nand.c | 70 ++++++++++-
drivers/mtd/nand/raw/denali_dt.c | 29 +----
drivers/mtd/nand/raw/denali_pci.c | 11 +-
drivers/mtd/nand/raw/marvell_nand.c | 12 +-
drivers/mtd/nand/raw/meson_nand.c | 10 +-
drivers/mtd/nand/raw/mtk_nand.c | 36 +++---
drivers/mtd/nand/raw/pl35x-nand-controller.c | 5 +-
drivers/mtd/nand/raw/renesas-nand-controller.c | 12 +-
drivers/mtd/nand/raw/rockchip-nand-controller.c | 5 +-
drivers/mtd/nand/raw/stm32_fmc2_nand.c | 7 +-
drivers/mtd/nand/raw/sunxi_nand.c | 4 +-
drivers/mtd/nand/spi/core.c | 223 ++++++++++++++++++++++++++++++++----
drivers/mtd/nand/spi/macronix.c | 146 +++++++++++++++++------
drivers/mtd/nand/spi/winbond.c | 26 +++++
drivers/mtd/parsers/bcm47xxpart.c | 2 +-
drivers/mtd/parsers/ofpart_core.c | 4 +-
drivers/mtd/spi-nor/core.c | 3 +-
drivers/mtd/spi-nor/micron-st.c | 2 +
drivers/mtd/spi-nor/spansion.c | 4 +
drivers/mtd/spi-nor/sst.c | 39 +++----
drivers/mtd/spi-nor/winbond.c | 26 +++++
include/linux/mtd/nand.h | 90 +++++++++++++--
include/linux/mtd/spinand.h | 19 +++
include/linux/platform_data/mtd-davinci-aemif.h | 36 ------
include/linux/platform_data/mtd-davinci.h | 88 --------------
32 files changed, 621 insertions(+), 314 deletions(-)
delete mode 100644 include/linux/platform_data/mtd-davinci-aemif.h
delete mode 100644 include/linux/platform_data/mtd-davinci.h