[GIT PULL] mtd: Changes for v6.6-rc1

Miquel Raynal miquel.raynal at bootlin.com
Fri Sep 1 09:42:11 PDT 2023


Hello Linus,

This is the MTD PR for the current merge window preparing the v6.6
cycles.

Thanks,
Miquèl

The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5:

  Linux 6.5-rc1 (2023-07-09 13:53:13 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 54a3f6e89fbbf12e1e3539a4f977a7536029d780:

  Merge tag 'nand/for-6.6' into mtd/next (2023-08-28 16:37:38 +0200)

----------------------------------------------------------------
Core MTD changes:
* Use refcount to prevent corruption
* Call external _get and _put in right order
* Fix use-after-free in mtd release
* Explicitly include correct DT includes
* Clean refcounting with MTD_PARTITIONED_MASTER
* mtdblock: make warning messages ratelimited
* dt-bindings: Add SEAMA partition bindings

MTD device driver changes:
* spear_smi: Use helper function devm_clk_get_enabled()
* maps: fix -Wvoid-pointer-to-enum-cast warning
* docg3: Remove unnecessary (void*) conversions
* physmap-core, spear_smi, st_spi_fsm, lpddr2_nvm, lantiq-flash, plat-ram:
  - Use devm_platform_get_and_ioremap_resource()

Raw NAND core changes:
* Fix -Wvoid-pointer-to-enum-cast warning
* Export 'nand_exit_status_op()'
* dt-bindings: Fix nand-controller.yaml license

Raw NAND controller driver changes:
* Omap, Omap2, Samsung, Atmel, fsl_upm, lpc32xx_slc, lpc32xx_mlc, STM32_FMC2,
  sh_ftlctl, MXC, Sunxi:
  - Use devm_platform_get_and_ioremap_resource()
* Orion, vf610_nfc, Sunxi, STM32_FMC2, MTK, mpc5121, lpc32xx_slc, Intel,
  FSMC, Arasan:
  - Use helper function devm_clk_get_optional_enabled()
* Brcmnand:
  - Use devm_platform_ioremap_resource_byname()
  - Propagate init error -EPROBE_DEFER up
  - Propagate error and simplify ternary operators
  - Fix mtd oobsize
  - Fix potential out-of-bounds access in oob write
  - Fix crash during the panic_write
  - Fix potential false time out warning
  - Fix ECC level field setting for v7.2 controller
* fsmc: Handle clk prepare error in fsmc_nand_resume()
* Marvell: Add support for AC5 SoC
* Meson:
  - Support for 512B ECC step size
  - Fix build error
  - Use NAND core API to check status
  - dt-bindings:
    * Make ECC properties dependent
    * Support for 512B ECC step size
    * Drop unneeded quotes
* Oxnas: Remove driver and bindings
* Qcom:
  - Conversion to ->exec_op()
  - Removal of the legacy interface
  - Two full series of improvements/misc fixes
    * Use the BIT() macro
    * Use u8 instead of uint8_t
    * Fix alignment with open parenthesis
    * Fix the spacing
    * Fix wrong indentation
    * Fix a typo
    * Early structure initialization
    * Fix address parsing within ->exec_op()
    * Remove superfluous initialization of "ret"
    * Rename variables in qcom_op_cmd_mapping()
    * Handle unsupported opcode in qcom_op_cmd_mapping()
    * Fix the opcode check in qcom_check_op()
    * Use EOPNOTSUPP instead of ENOTSUPP
    * Wrap qcom_nand_exec_op() to 80 columns
    * Unmap sg_list and free desc within submic_descs()
    * Simplify the call to nand_prog_page_end_op()
    * Do not override the error no of submit_descs()
    * Sort includes alphabetically
    * Clear buf_count and buf_start in raw read
    * Add read/read_start ops in exec_op path
* vf610_nfc: Do not check 0 for platform_get_irq()

SPI NAND manufacturer driver changes:
* gigadevice: Add support for GD5F1GQ{4,5}RExxH
* esmt: Add support for F50D2G41KA
* toshiba: Add support for T{C,H}58NYG{0,2}S3HBAI4 and TH58NYG3S0HBAI6

SPI NOR core changes:
* fix assumption on enabling quad mode in
  spi_nor_write_16bit_sr_and_check()
* avoid setting SRWD bit in SR if WP# signal not connected as it will
  configure the SR permanently as read only. Add "no-wp" dt property.
* clarify the need for spi-nor compatibles in dt-bindings

SPI NOR manufacturer driver changes:
* Spansion:
  - Add support for S28HS02GT
  - Switch methods to use vreg_offset from SFDP instead of hardcoding
    the register value
* Microchip/SST:
  - Add support for sst26vf032b flash
* Winbond:
  - Correct flags for Winbond w25q128
* NXP spifi:
  - Use helper function devm_clk_get_enabled()

----------------------------------------------------------------
Alexander Usyskin (2):
      mtd: call external _get and _put in right order
      mtd: fix use-after-free in mtd release

Amit Kumar Mahapatra (2):
      dt-bindings: mtd: jedec, spi-nor: Add DT property to avoid setting SRWD bit in status register
      mtd: spi-nor: Avoid setting SRWD bit in SR if WP# signal not connected

Arseniy Krasnov (6):
      mtd: rawnand: export 'nand_exit_status_op()'
      mtd: rawnand: meson: use NAND core API to check status
      dt-bindings: nand: meson: support for 512B ECC step size
      dt-bindings: nand: meson: make ECC properties dependent
      mtd: rawnand: meson: support for 512B ECC step size
      mtd: rawnand: meson: fix build error

Chris Packham (2):
      dt-bindings: mtd: Add AC5 specific binding
      mtd: rawnand: marvell: add support for AC5 SoC

Colin Ian King (1):
      mtdblock: make warning messages ratelimited

Hsin-Yi Wang (1):
      mtd: spi-nor: Check bus width while setting QE bit

Justin Stitt (2):
      mtd: rawnand: fix -Wvoid-pointer-to-enum-cast warning
      mtd: maps: fix -Wvoid-pointer-to-enum-cast warning

Krzysztof Kozlowski (1):
      dt-bindings: mtd: amlogic,meson-nand: drop unneeded quotes

Li Zetao (13):
      mtd: rawnand: brcmnand: Use devm_platform_ioremap_resource_byname()
      mtd: spi-nor: nxp-spifi: Use helper function devm_clk_get_enabled()
      mtd: rawnand: arasan: Use helper function devm_clk_get_enabled()
      mtd: rawnand: fsmc: Use helper function devm_clk_get_enabled()
      mtd: rawnand: intel: Use helper function devm_clk_get_enabled()
      mtd: rawnand: lpc32xx_slc: Use helper function devm_clk_get_enabled()
      mtd: rawnand: mpc5121: Use helper function devm_clk_get_enabled()
      mtd: rawnand: mtk: Use helper function devm_clk_get_enabled()
      mtd: rawnand: stm32_fmc2: Use helper function devm_clk_get_enabled()
      mtd: rawnand: sunxi: Use helper function devm_clk_get_enabled()
      mtd: rawnand: vf610_nfc: Use helper function devm_clk_get_enabled()
      mtd: rawnand: orion: Use helper function devm_clk_get_optional_enabled()
      mtd: spear_smi: Use helper function devm_clk_get_enabled()

Linus Walleij (2):
      dt-bindings: mtd: Add SEAMA partition bindings
      mtd: spi-nor: Correct flags for Winbond w25q128

Manivannan Sadhasivam (10):
      mtd: rawnand: qcom: Remove superfluous initialization of "ret"
      mtd: rawnand: qcom: Rename variables in qcom_op_cmd_mapping()
      mtd: rawnand: qcom: Handle unsupported opcode in qcom_op_cmd_mapping()
      mtd: rawnand: qcom: Fix the opcode check in qcom_check_op()
      mtd: rawnand: qcom: Use EOPNOTSUPP instead of ENOTSUPP
      mtd: rawnand: qcom: Wrap qcom_nand_exec_op() to 80 columns
      mtd: rawnand: qcom: Unmap sg_list and free desc within submic_descs()
      mtd: rawnand: qcom: Simplify the call to nand_prog_page_end_op()
      mtd: rawnand: qcom: Do not override the error no of submit_descs()
      mtd: rawnand: qcom: Sort includes alphabetically

Md Sadre Alam (3):
      mtd: rawnand: qcom: Implement exec_op()
      mtd: rawnand: qcom: Remove legacy interface
      mtd: rawnand: qcom: Clear buf_count and buf_start in raw read

Miquel Raynal (14):
      dt-bindings: mtd: spi-nor: clarify the need for spi-nor compatibles
      dt-bindings: mtd: Fix nand-controller.yaml license
      mtd: rawnand: qcom: Use the BIT() macro
      mtd: rawnand: qcom: Use u8 instead of uint8_t
      mtd: rawnand: qcom: Fix alignment with open parenthesis
      mtd: rawnand: qcom: Fix the spacing
      mtd: rawnand: qcom: Fix wrong indentation
      mtd: rawnand: qcom: Fix a typo
      mtd: rawnand: qcom: Early structure initialization
      mtd: rawnand: qcom: Fix address parsing within ->exec_op()
      mtd: Clean refcounting with MTD_PARTITIONED_MASTER
      mtd: spi-nor: Add support for sst26vf032b flash
      Merge tag 'spi-nor/for-6.6' into mtd/next
      Merge tag 'nand/for-6.6' into mtd/next

Neil Armstrong (2):
      nand: oxnas_nand: remove obsolete raw nand driver
      dt-bindings: mtd: oxnas-nand: remove obsolete bindings

Rafał Miłecki (1):
      mtd: rawnand: brcmnand: propagate init error -EPROBE_DEFER up

Rob Herring (1):
      mtd: Explicitly include correct DT includes

Ruan Jinjie (1):
      mtd: rawnand: Propagate error and simplify ternary operators for brcmstb_nand_wait_for_completion()

Sricharan Ramabadhran (1):
      mtd: rawnand: qcom: Add read/read_start ops in exec_op path

Sridharan S N (3):
      mtd: spinand: gigadevice: add support for GD5F1GQ{4,5}RExxH
      mtd: spinand: esmt: add support for F50D2G41KA
      mtd: spinand: toshiba: add support for T{C,H}58NYG{0,2}S3HBAI4 and TH58NYG3S0HBAI6

Su Hui (1):
      mtd: devices: docg3: Remove unnecessary (void*) conversions

Takahiro Kuwano (8):
      mtd: spi-nor: spansion: use CLPEF as an alternative to CLSR
      mtd: spi-nor: spansion: preserve CFR2V[7] when writing MEMLAT
      mtd: spi-nor: spansion: prepare octal dtr methods for multi chip support
      mtd: spi-nor: spansion: switch set_octal_dtr method to use vreg_offset
      mtd: spi-nor: spansion: switch h28hx's ready() to use vreg_offset
      mtd: spi-nor: spansion: add MCP support in set_octal_dtr()
      mtd: spi-nor: spansion: add octal DTR support in RD_ANY_REG_OP
      mtd: spi-nor: spansion: add support for S28HS02GT

Tomas Winkler (1):
      mtd: use refcount to prevent corruption

Tudor Ambarus (5):
      mtd: spi-nor: rename method for enabling or disabling octal DTR
      mtd: spi-nor: spansion: return method directly
      mtd: spi-nor: spansion: let SFDP determine the flash and sector size
      mtd: spi-nor: spansion: switch s25hx_t to use vreg_offset for quad_enable()
      mtd: spi-nor: spansion: switch cypress_nor_get_page_size() to use vreg_offset

William Zhang (5):
      mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller
      mtd: rawnand: brcmnand: Fix potential false time out warning
      mtd: rawnand: brcmnand: Fix crash during the panic_write
      mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write
      mtd: rawnand: brcmnand: Fix mtd oobsize

Yangtao Li (17):
      mtd: rawnand: sunxi: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: lpc32xx_slc: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: mxc: Convert to devm_platform_ioremap_resource()
      mtd: rawnand: sh_flctl: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: omap2: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: stm32_fmc2: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: lpc32xx_mlc: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: fsl_upm: Use devm_platform_get_and_ioremap_resource()
      mtd: rawnand: atmel: Use devm_platform_get_and_ioremap_resource()
      mtd: nand: samsung: Convert to devm_platform_ioremap_resource() and devm_platform_get_and_ioremap_resource()
      mtd: plat-ram: Use devm_platform_get_and_ioremap_resource()
      mtd: lantiq-flash: Use devm_platform_get_and_ioremap_resource()
      mtd: lpddr2_nvm: Convert to devm_platform_ioremap_resource()
      mtd: st_spi_fsm: Convert to devm_platform_ioremap_resource()
      mtd: spear_smi: Convert to devm_platform_ioremap_resource()
      mtd: physmap-core: Use devm_platform_get_and_ioremap_resource()
      mtd: nand: omap: Use devm_platform_get_and_ioremap_resource()

Yi Yang (1):
      mtd: rawnand: fsmc: handle clk prepare error in fsmc_nand_resume()

Zhu Wang (1):
      mtd: rawnand: vf610_nfc: Do not check 0 for platform_get_irq()

 Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml      |    6 +-
 Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml           |   21 ++-
 Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml |    1 +
 Documentation/devicetree/bindings/mtd/nand-controller.yaml         |    2 +-
 Documentation/devicetree/bindings/mtd/oxnas-nand.txt               |   41 -----
 Documentation/devicetree/bindings/mtd/partitions/seama.yaml        |   44 +++++
 drivers/mtd/devices/docg3.c                                        |    8 +-
 drivers/mtd/devices/mchp23k256.c                                   |    2 +-
 drivers/mtd/devices/mchp48l640.c                                   |    2 +-
 drivers/mtd/devices/mtd_dataflash.c                                |    1 -
 drivers/mtd/devices/spear_smi.c                                    |   20 +-
 drivers/mtd/devices/st_spi_fsm.c                                   |   14 +-
 drivers/mtd/lpddr/lpddr2_nvm.c                                     |    4 +-
 drivers/mtd/maps/lantiq-flash.c                                    |   11 +-
 drivers/mtd/maps/physmap-bt1-rom.c                                 |    1 -
 drivers/mtd/maps/physmap-core.c                                    |    3 +-
 drivers/mtd/maps/physmap-gemini.c                                  |    2 +-
 drivers/mtd/maps/physmap-ixp4xx.c                                  |    2 +-
 drivers/mtd/maps/physmap-ixp4xx.h                                  |    1 +
 drivers/mtd/maps/physmap-versatile.c                               |    4 +-
 drivers/mtd/maps/plat-ram.c                                        |    3 +-
 drivers/mtd/maps/sun_uflash.c                                      |    2 +-
 drivers/mtd/mtdblock.c                                             |    2 +-
 drivers/mtd/mtdblock_ro.c                                          |    2 +-
 drivers/mtd/mtdcore.c                                              |   97 +++++-----
 drivers/mtd/mtdcore.h                                              |    1 +
 drivers/mtd/mtdpart.c                                              |   14 +-
 drivers/mtd/nand/ecc-mxic.c                                        |    2 +-
 drivers/mtd/nand/ecc.c                                             |    2 +-
 drivers/mtd/nand/onenand/onenand_omap2.c                           |   12 +-
 drivers/mtd/nand/onenand/onenand_samsung.c                         |    9 +-
 drivers/mtd/nand/raw/Kconfig                                       |    9 +-
 drivers/mtd/nand/raw/Makefile                                      |    1 -
 drivers/mtd/nand/raw/ams-delta.c                                   |    2 +-
 drivers/mtd/nand/raw/arasan-nand-controller.c                      |   29 +--
 drivers/mtd/nand/raw/atmel/nand-controller.c                       |    3 +-
 drivers/mtd/nand/raw/brcmnand/bcm63138_nand.c                      |    4 +-
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                           |  130 ++++++++-----
 drivers/mtd/nand/raw/brcmnand/iproc_nand.c                         |    7 +-
 drivers/mtd/nand/raw/davinci_nand.c                                |    1 -
 drivers/mtd/nand/raw/denali_dt.c                                   |    1 -
 drivers/mtd/nand/raw/fsl_ifc_nand.c                                |    1 +
 drivers/mtd/nand/raw/fsl_upm.c                                     |    6 +-
 drivers/mtd/nand/raw/fsmc_nand.c                                   |   19 +-
 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c                         |    2 +-
 drivers/mtd/nand/raw/ingenic/ingenic_ecc.c                         |    1 +
 drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c                    |    1 -
 drivers/mtd/nand/raw/intel-nand-controller.c                       |   15 +-
 drivers/mtd/nand/raw/lpc32xx_mlc.c                                 |    3 +-
 drivers/mtd/nand/raw/lpc32xx_slc.c                                 |   15 +-
 drivers/mtd/nand/raw/marvell_nand.c                                |   19 +-
 drivers/mtd/nand/raw/meson_nand.c                                  |   72 +++++---
 drivers/mtd/nand/raw/mpc5121_nfc.c                                 |   15 +-
 drivers/mtd/nand/raw/mtk_nand.c                                    |   63 ++-----
 drivers/mtd/nand/raw/mxc_nand.c                                    |   10 +-
 drivers/mtd/nand/raw/nand_base.c                                   |    1 +
 drivers/mtd/nand/raw/ndfc.c                                        |    3 +-
 drivers/mtd/nand/raw/omap2.c                                       |    5 +-
 drivers/mtd/nand/raw/orion_nand.c                                  |   22 +--
 drivers/mtd/nand/raw/oxnas_nand.c                                  |  209 ---------------------
 drivers/mtd/nand/raw/pl35x-nand-controller.c                       |    4 +-
 drivers/mtd/nand/raw/qcom_nandc.c                                  | 1003 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------
 drivers/mtd/nand/raw/rockchip-nand-controller.c                    |    1 -
 drivers/mtd/nand/raw/s3c2410.c                                     |    1 -
 drivers/mtd/nand/raw/sh_flctl.c                                    |    4 +-
 drivers/mtd/nand/raw/socrates_nand.c                               |    3 +-
 drivers/mtd/nand/raw/stm32_fmc2_nand.c                             |   21 +--
 drivers/mtd/nand/raw/sunxi_nand.c                                  |   33 +---
 drivers/mtd/nand/raw/vf610_nfc.c                                   |   35 ++--
 drivers/mtd/nand/raw/xway_nand.c                                   |    3 +-
 drivers/mtd/nand/spi/esmt.c                                        |    9 +
 drivers/mtd/nand/spi/gigadevice.c                                  |   20 ++
 drivers/mtd/nand/spi/toshiba.c                                     |   33 ++++
 drivers/mtd/spi-nor/atmel.c                                        |    8 +-
 drivers/mtd/spi-nor/controllers/nxp-spifi.c                        |   34 +---
 drivers/mtd/spi-nor/core.c                                         |   57 +++---
 drivers/mtd/spi-nor/core.h                                         |    9 +-
 drivers/mtd/spi-nor/debugfs.c                                      |    1 +
 drivers/mtd/spi-nor/issi.c                                         |    4 +-
 drivers/mtd/spi-nor/macronix.c                                     |    4 +-
 drivers/mtd/spi-nor/micron-st.c                                    |    8 +-
 drivers/mtd/spi-nor/spansion.c                                     |  318 ++++++++++++++++++++------------
 drivers/mtd/spi-nor/sst.c                                          |   12 +-
 drivers/mtd/spi-nor/swp.c                                          |    9 +-
 drivers/mtd/spi-nor/winbond.c                                      |    9 +-
 drivers/mtd/spi-nor/xilinx.c                                       |    4 +-
 include/linux/mtd/mtd.h                                            |    2 +-
 include/linux/mtd/rawnand.h                                        |    1 +
 88 files changed, 1348 insertions(+), 1307 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mtd/oxnas-nand.txt
 create mode 100644 Documentation/devicetree/bindings/mtd/partitions/seama.yaml
 delete mode 100644 drivers/mtd/nand/raw/oxnas_nand.c



More information about the linux-mtd mailing list