[GIT PULL] mtd: Changes for 5.13
From: Miquel Raynal
Date: Mon Apr 26 2021 - 09:27:18 EST
Hello Linus,
This is the MTD PR for v5.13-rc1.
Thanks,
Miquèl
The following changes since commit a38fd8748464831584a19438cbb3082b5a2dab15:
Linux 5.12-rc2 (2021-03-05 17:33:41 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/for-5.13
for you to fetch changes up to a881537dfaf281bfcb94313d69dcf9ef8fc89afe:
Revert "mtd: rawnand: bbt: Skip bad blocks when searching for the BBT in NAND" (2021-04-19 18:10:18 +0200)
----------------------------------------------------------------
MTD core:
* Handle possible -EPROBE_DEFER from parse_mtd_partitions()
* Constify buf in mtd_write_user_prot_reg()
* Constify name param in mtd_bdi_init
* Fix fall-through warnings for Clang
* Get rid of Big MTD Lock ouf of mtdchar
* Drop mtd_mutex usage from mtdchar_open()
* Don't lock when recursively deleting partitions
* Use module_mtd_blktrans() to register driver when relevant
* Parse MTD as NVMEM cells
* New OTP (one-time-programmable) erase ioctl
* Require write permissions for locking and badblock ioctls
* physmap:
- Fix error return code of physmap_flash_remove()
- physmap-bt1-rom: Fix unintentional stack access
* ofpart parser:
- Support Linksys Northstar partitions
- Make symbol 'bcm4908_partitions_quirks' static
- Limit parsing of deprecated DT syntax
- Support BCM4908 fixed partitions
* Qcom parser:
- Incompatible with spi-nor 4k sectors
- Fix error condition
- Extend Qcom SMEM parser to SPI flash
CFI:
* Disable broken buffered writes for CFI chips within ID 0x2201
* Address a Coverity report for unused value
SPI NOR core:
* Add OTP support
* Fix module unload while an op in progress
* Add various cleanup patches
* Add Michael and Pratyush as designated reviewers in MAINTAINERS
SPI NOR controller drivers:
* intel-spi:
- Move platform data header to x86 subfolder
NAND core:
* Fix error handling in nand_prog_page_op() (x2)
* Add a helper to retrieve the number of ECC bytes per step
* Add a helper to retrieve the number of ECC steps
* Let ECC engines advertize the exact number of steps
* ECC Hamming:
- Populate the public nsteps field
- Use the public nsteps field
* ECC BCH:
- Populate the public nsteps field
- Use the public nsteps field
Raw NAND core:
* Add support for secure regions in NAND memory
* Try not to use the ECC private structures
* Remove duplicate include in rawnand.h
* BBT:
- Skip bad blocks when searching for the BBT in NAND (APPLIED THEN REVERTED)
Raw NAND controller drivers:
* Qcom:
- Convert bindings to YAML
- Use dma_mapping_error() for error check
- Add missing nand_cleanup() in error path
- Return actual error code instead of -ENODEV
- Update last code word register
- Add helper to configure location register
- Rename parameter name in macro
- Add helper to check last code word
- Convert nandc to chip in Read/Write helper
- Update register macro name for 0x2c offset
* GPMI:
- Fix a double free in gpmi_nand_init
* Rockchip:
- Use flexible-array member instead of zero-length array
* Atmel:
- Update ecc_stats.corrected counter
* MXC:
- Remove unneeded of_match_ptr()
* R852:
- replace spin_lock_irqsave by spin_lock in hard IRQ
* Brcmnand:
- Move to polling in pio mode on oops write
- Read/write oob during EDU transfer
- Fix OOB R/W with Hamming ECC
* FSMC:
- Fix error code in fsmc_nand_probe()
* OMAP:
- Use ECC information from the generic structures
SPI-NAND core:
* Add missing MODULE_DEVICE_TABLE()
SPI-NAND drivers:
* gigadevice: Support GD5F1GQ5UExxG
----------------------------------------------------------------
Alexander Lobakin (1):
mtd: spinand: core: add missing MODULE_DEVICE_TABLE()
Alexander Sverdlin (2):
mtd: char: Drop mtd_mutex usage from mtdchar_open()
mtd: char: Get rid of Big MTD Lock
Andy Shevchenko (1):
mtd: spi-nor: intel-spi: Move platform data header to x86 subfolder
Ansuel Smith (3):
mtd: core: add nvmem-cells compatible to parse mtd as nvmem cells
dt-bindings: nvmem: drop $nodename restriction
dt-bindings: mtd: Document use of nvmem-cells compatible
Baruch Siach (2):
mtd: parsers: extend Qcom SMEM parser to SPI flash
mtd: parsers: qcom: incompatible with spi-nor 4k sectors
Colin Ian King (1):
mtd: cfi_cmdset_0002: remove redundant assignment to variable timeo
Dan Carpenter (1):
mtd: rawnand: fsmc: Fix error code in fsmc_nand_probe()
David Bauer (1):
mtd: don't lock when recursively deleting partitions
Dejin Zheng (8):
mtd: Add helper macro for register_mtd_blktrans boilerplate
mtd: ftl: Use module_mtd_blktrans to register driver
mtd: inftlcore: Use module_mtd_blktrans to register driver
mtd: mtdblock: Use module_mtd_blktrans to register driver
mtd: mtdblock_ro: Use module_mtd_blktrans to register driver
mtd: mtdswap: Use module_mtd_blktrans to register driver
mtd: nftlcore: Use module_mtd_blktrans to register driver
mtd: rfd_ftl: Use module_mtd_blktrans to register driver
Fabio Estevam (2):
mtd: rawnand: mxc: Remove unneeded of_match_ptr()
Revert "mtd: rawnand: bbt: Skip bad blocks when searching for the BBT in NAND"
Gustavo A. R. Silva (6):
mtd: physmap: physmap-bt1-rom: Fix unintentional stack access
mtd: cfi: Fix fall-through warnings for Clang
mtd: mtdchar: Fix fall-through warnings for Clang
mtd: onenand: Fix fall-through warnings for Clang
mtd: rawnand: fsmc: Fix fall-through warnings for Clang
mtd: rawnand: stm32_fmc2: Fix fall-through warnings for Clang
Jia-Ju Bai (1):
mtd: maps: fix error return code of physmap_flash_remove()
Kai Stuhlemmer (ebee Engineering) (1):
mtd: rawnand: atmel: Update ecc_stats.corrected counter
Kamal Dasu (2):
mtd: rawnand: brcmnand: read/write oob during EDU transfer
mtd: rawnand: brcmnand: move to polling in pio mode on oops write
Lv Yunlong (1):
mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init
Manivannan Sadhasivam (7):
mtd: Handle possible -EPROBE_DEFER from parse_mtd_partitions()
mtd: rawnand: qcom: Return actual error code instead of -ENODEV
dt-bindings: mtd: Convert Qcom NANDc binding to YAML
dt-bindings: mtd: Add a property to declare secure regions in NAND chips
mtd: rawnand: Add support for secure regions in NAND memory
mtd: rawnand: qcom: Add missing nand_cleanup() in error path
mtd: rawnand: qcom: Use dma_mapping_error() for error check
Mauri Sandberg (1):
mtd: cfi_cmdset_0002: Disable buffered writes for AMD chip 0x2201
Md Sadre Alam (6):
mtd: rawnand: qcom: Update register macro name for 0x2c offset
mtd: rawnand: qcom: Convert nandc to chip in Read/Write helper
mtd: rawnand: qcom: Add helper to check last code word
mtd: rawnand: qcom: Rename parameter name in macro
mtd: rawnand: qcom: Add helper to configure location register
mtd: rawnand: qcom: update last code word register
Michael Walle (6):
mtd: spi-nor: use is_power_of_2()
mtd: require write permissions for locking and badblock ioctls
mtd: add OTP (one-time-programmable) erase ioctl
mtd: spi-nor: add OTP support
mtd: spi-nor: implement OTP support for Winbond and similar flashes
mtd: spi-nor: winbond: add OTP support to w25q32fw/jw
Miquel Raynal (10):
mtd: nand: Let ECC engines advertize the exact number of steps
mtd: nand: ecc-bch: Populate the public nsteps field
mtd: nand: ecc-hamming: Populate the public nsteps field
mtd: nand: Add a helper to retrieve the number of ECC steps
mtd: nand: Add a helper to retrieve the number of ECC bytes per step
mtd: rawnand: Try not to use the ECC private structures
mtd: rawnand: omap: Use ECC information from the generic structures
mtd: nand: ecc-bch: Use the public nsteps field
mtd: nand: ecc-hamming: Use the public nsteps field
mtd: parsers: qcom: Fix error condition
Rafał Miłecki (4):
mtd: parsers: ofpart: support BCM4908 fixed partitions
mtd: parsers: ofpart: limit parsing of deprecated DT syntax
dt-bindings: mtd: add binding for Linksys Northstar partitions
mtd: parsers: ofpart: support Linksys Northstar partitions
Reto Schneider (1):
mtd: spinand: gigadevice: Support GD5F1GQ5UExxG
Richard Weinberger (3):
Merge tag 'cfi/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux into mtd/next
Merge tag 'spi-nor/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux into mtd/next
Merge tag 'nand/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux into mtd/next
Sascha Hauer (2):
mtd: nand: fix error handling in nand_prog_page_op() #1
mtd: nand: fix error handling in nand_prog_page_op() #2
Shuhao Mai (1):
mtd: spi-nor: winbond: Add support for w25q512jvq
Stefan Riedmueller (1):
mtd: rawnand: bbt: Skip bad blocks when searching for the BBT in NAND
Tian Tao (1):
mtd: rawnand: r852: replace spin_lock_irqsave by spin_lock in hard IRQ
Tomas Winkler (1):
mtd: mtdcore: constify name param in mtd_bdi_init
Tudor Ambarus (9):
MAINTAINERS: Add Michael and Pratyush as designated reviewers for SPI NOR
mtd: spi-nor: core: Advance erase after the erase cmd has been completed
mtd: spi-nor: core: Add vdbg msg for spi_nor_erase_multi_sectors()
mtd: spi-nor: Get rid of duplicated argument in spi_nor_parse_sfdp()
mtd: spi-nor: core: Update comment about the default flash parameters
mtd: spi-nor: Move Software Write Protection logic out of the core
mtd: spi-nor: swp: Improve code around spi_nor_check_lock_status_sr()
Revert "mtd: spi-nor: macronix: Add support for mx25l51245g"
mtd: core: Constify buf in mtd_write_user_prot_reg()
Wan Jiabing (1):
include: linux: mtd: Remove duplicate include of nand.h
Wei Yongjun (1):
mtd: parsers: ofpart: make symbol 'bcm4908_partitions_quirks' static
Xiang Chen (1):
mtd: spi-nor: core: Fix an issue of releasing resources during read/write
Zhang Yunkai (1):
mtd: rawnand: remove duplicate include in rawnand.h
Zou Wei (1):
mtd: rawnand: rockchip: Use flexible-array member instead of zero-length array
Álvaro Fernández Rojas (1):
mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
Documentation/devicetree/bindings/mtd/nand-controller.yaml | 7 +
.../bindings/mtd/partitions/linksys,ns-partitions.yaml | 74 +++++
.../devicetree/bindings/mtd/partitions/nvmem-cells.yaml | 99 ++++++
Documentation/devicetree/bindings/mtd/qcom,nandc.yaml | 196 +++++++++++
Documentation/devicetree/bindings/mtd/qcom_nandc.txt | 142 --------
Documentation/devicetree/bindings/nvmem/nvmem.yaml | 3 -
MAINTAINERS | 2 +
drivers/mtd/chips/cfi_cmdset_0001.c | 8 +-
drivers/mtd/chips/cfi_cmdset_0002.c | 14 +-
drivers/mtd/chips/cfi_cmdset_0020.c | 2 +
drivers/mtd/devices/mtd_dataflash.c | 2 +-
drivers/mtd/ftl.c | 14 +-
drivers/mtd/inftlcore.c | 13 +-
drivers/mtd/maps/physmap-bt1-rom.c | 2 +-
drivers/mtd/maps/physmap-core.c | 4 +-
drivers/mtd/mtdblock.c | 14 +-
drivers/mtd/mtdblock_ro.c | 13 +-
drivers/mtd/mtdchar.c | 40 +--
drivers/mtd/mtdcore.c | 23 +-
drivers/mtd/mtdpart.c | 2 +-
drivers/mtd/mtdswap.c | 14 +-
drivers/mtd/nand/ecc-sw-bch.c | 10 +-
drivers/mtd/nand/ecc-sw-hamming.c | 10 +-
drivers/mtd/nand/onenand/onenand_base.c | 5 +-
drivers/mtd/nand/onenand/onenand_samsung.c | 1 +
drivers/mtd/nand/raw/atmel/nand-controller.c | 6 +-
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 69 +++-
drivers/mtd/nand/raw/fsmc_nand.c | 3 +
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 2 +-
drivers/mtd/nand/raw/mxc_nand.c | 2 +-
drivers/mtd/nand/raw/nand_base.c | 145 +++++++--
drivers/mtd/nand/raw/omap2.c | 14 +-
drivers/mtd/nand/raw/qcom_nandc.c | 263 +++++++++------
drivers/mtd/nand/raw/r852.c | 5 +-
drivers/mtd/nand/raw/rockchip-nand-controller.c | 2 +-
drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +
drivers/mtd/nand/spi/core.c | 2 +
drivers/mtd/nand/spi/gigadevice.c | 69 +++-
drivers/mtd/nftlcore.c | 13 +-
drivers/mtd/parsers/Kconfig | 24 +-
drivers/mtd/parsers/Makefile | 3 +
drivers/mtd/parsers/ofpart_bcm4908.c | 64 ++++
drivers/mtd/parsers/ofpart_bcm4908.h | 15 +
drivers/mtd/parsers/{ofpart.c => ofpart_core.c} | 38 ++-
drivers/mtd/parsers/ofpart_linksys_ns.c | 50 +++
drivers/mtd/parsers/ofpart_linksys_ns.h | 18 ++
drivers/mtd/parsers/qcomsmempart.c | 9 +-
drivers/mtd/rfd_ftl.c | 13 +-
drivers/mtd/spi-nor/Makefile | 2 +-
drivers/mtd/spi-nor/controllers/intel-spi.c | 1 -
drivers/mtd/spi-nor/controllers/intel-spi.h | 2 +-
drivers/mtd/spi-nor/core.c | 482 ++++------------------------
drivers/mtd/spi-nor/core.h | 71 +++-
drivers/mtd/spi-nor/issi.c | 3 +-
drivers/mtd/spi-nor/macronix.c | 6 +-
drivers/mtd/spi-nor/otp.c | 377 ++++++++++++++++++++++
drivers/mtd/spi-nor/sfdp.c | 72 ++---
drivers/mtd/spi-nor/sfdp.h | 3 +-
drivers/mtd/spi-nor/spansion.c | 12 +-
drivers/mtd/spi-nor/swp.c | 427 ++++++++++++++++++++++++
drivers/mtd/spi-nor/winbond.c | 22 +-
include/linux/mfd/lpc_ich.h | 2 +-
include/linux/mtd/blktrans.h | 11 +
include/linux/mtd/mtd.h | 9 +-
include/linux/mtd/nand-ecc-sw-bch.h | 2 -
include/linux/mtd/nand-ecc-sw-hamming.h | 2 -
include/linux/mtd/nand.h | 22 ++
include/linux/mtd/rawnand.h | 15 +-
include/linux/mtd/spi-nor.h | 8 +
include/linux/platform_data/{ => x86}/intel-spi.h | 0
include/uapi/mtd/mtd-abi.h | 2 +
71 files changed, 2155 insertions(+), 943 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml
create mode 100644 Documentation/devicetree/bindings/mtd/partitions/nvmem-cells.yaml
create mode 100644 Documentation/devicetree/bindings/mtd/qcom,nandc.yaml
delete mode 100644 Documentation/devicetree/bindings/mtd/qcom_nandc.txt
create mode 100644 drivers/mtd/parsers/ofpart_bcm4908.c
create mode 100644 drivers/mtd/parsers/ofpart_bcm4908.h
rename drivers/mtd/parsers/{ofpart.c => ofpart_core.c} (84%)
create mode 100644 drivers/mtd/parsers/ofpart_linksys_ns.c
create mode 100644 drivers/mtd/parsers/ofpart_linksys_ns.h
create mode 100644 drivers/mtd/spi-nor/otp.c
create mode 100644 drivers/mtd/spi-nor/swp.c
rename include/linux/platform_data/{ => x86}/intel-spi.h (100%)