Linus, The following changes since commit ba4f184e126b751d1bffad5897f263108befc780:
Linux 5.9-rc6 (2020-09-20 16:33:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/for-5.10 for you to fetch changes up to 6402f4ce95811db7df72244ca84860332e4c2518: mtd: hyperbus: Fix build failure when only RPCIF_HYPERBUS is enabled (2020-10-12 21:12:08 +0200) ---------------------------------------------------------------- NAND Core changes: * Drop useless 'depends on' in Kconfig * Add an extra level in the Kconfig hierarchy * Trivial spellings * Dynamic allocation of the interface configurations * Dropping the default ONFI timing mode * Various cleanup (types, structures, naming, comments) * Hide the chip->data_interface indirection * Add the generic rb-gpios property * Add the ->choose_interface_config() hook * Introduce nand_choose_best_sdr_timings() * Use default values for tPROG_max and tBERS_max * Avoid redefining tR_max and tCCS_min * Add a helper to find the closest ONFI mode * bcm63xx MTD parsers: simplify CFE detection Raw NAND controller drivers changes: * fsl-upm: Deprecation of specific DT properties * fsl_upm: Driver rework and cleanup in favor of ->exec_op() * Ingenic: Cleanup ARRAY_SIZE() vs sizeof() use * brcmnand: ECC error handling on EDU transfers * brcmnand: Don't default to EDU transfers * qcom: Set BAM mode only if not set already * qcom: Avoid write to unavailable register * gpio: Driver rework in favor of ->exec_op() * tango: ->exec_op() conversion * mtk: ->exec_op() conversion Raw NAND chip drivers changes: * toshiba: Implement ->choose_interface_config() for TH58NVG2S3HBAI4 * toshiba: Implement ->choose_interface_config() for TC58NVG0S3E * toshiba: Implement ->choose_interface_config() for TC58TEG5DCLTA00 * hynix: Implement ->choose_interface_config() for H27UCG8T2ATR-BC HyperBus changes: * DMA support for TI's AM654 HyperBus controller driver. * HyperBus frontend driver for Renesas RPC-IF driver. SPI NOR core changes: * Support for Winbond w25q64jwm flash * Enable 4K sector support for mx25l12805d SPI NOR controller drivers changes: * intel-spi Add Alder Lake-S PCI ID MTD Core changes: * mtdoops: Don't run panic write twice * mtdconcat: Correctly handle panic write * Use DEFINE_SHOW_ATTRIBUTE ---------------------------------------------------------------- Alex Dewar (1): mtd: rawnand: atmel: Check return values for nand_read_data_op Arnd Bergmann (1): mtd: lpddr: fix excessive stack usage with clang Bernard Zhao (1): mtd: maps: vmu-flash: fix typos for struct memcard Boris Brezillon (6): mtd: rawnand: atmel: Enable the NFC controller at probe time mtd: rawnand: atmel: Drop redundant nand_read_page_op() mtd: rawnand: atmel: Use nand_{write,read}_data_op() mtd: rawnand: atmel: Use nand_prog_page_end_op() mtd: rawnand: atmel: Convert the driver to exec_op() mtd: rawnand: atmel: Get rid of the legacy interface implementation Chris Packham (2): mtd: maps: physmap: Retain mtd-name property from dts mtd: rawnand: marvell: Support panic_write for mtdoops Christophe Kerello (1): mtd: rawnand: stm32_fmc2: fix a buffer overflow Colin Ian King (1): mtd: mtdconcat: map: remove redundant assignment to variable 'size' Douglas Anderson (1): mtd: spi-nor: Prefer asynchronous probe Evgeny Novikov (1): mtd: rawnand: vf610: disable clk on error handling path in probe Florian Fainelli (1): mtd: parsers: bcm63xx: Do not make it modular Gustavo A. R. Silva (3): mtd: lpddr: Fix bad logic in print_drs_error mtd: lpddr: Replace printk with pr_notice mtd: lpddr: Move function print_drs_error to lpddr_cmds.c Hauke Mehrtens (3): mtd: spinand: gigadevice: Only one dummy byte in QUADIO mtd: spinand: gigadevice: Add QE Bit mtd: spinand: gigadevice: Add support for GD5F4GQ4xC Ikjoon Jang (1): mtd: spi-nor: winbond: Add support for w25q64jwm Janusz Krzysztofik (1): mtd: rawnand: ams-delta: Fix non-OF build warning Joe Perches (1): mtd: Avoid comma separated statements Krzysztof Kozlowski (6): mtd: onenand: Simplify with dev_err_probe() mtd: rawnand: atmel: Simplify with dev_err_probe() mtd: rawnand: gpmi: Simplify with dev_err_probe() mtd: rawnand: marvell: Simplify with dev_err_probe() mtd: rawnand: marvell: Fix and update kerneldoc mtd: rawnand: qcom: Simplify with dev_err_probe() Liu Shixin (3): mtd: rawnand: cadence: remove a redundant dev_err call mtd: onenand: simplify the return expression of onenand_transfer_auto_oob mtd: maps: vmu-flash: simplify the return expression of probe_maple_vmu Mark Tomlinson (1): mtd: mtdoops: Don't write panic data twice Matt Weber (1): mtd: mtdconcat: map through panic write handler Mika Westerberg (1): mtd: spi-nor: intel-spi: Add support for Intel Alder Lake-S SPI serial flash Miquel Raynal (21): mtd: rawnand: Add a kernel doc to the ECC algorithm enumeration mtd: rawnand: Rename the ECC algorithm enumeration items mtd: rawnand: Move the nand_ecc_algo enum to the generic NAND layer mtd: nand: Add a NAND page I/O request type dt-bindings: mtd: Document nand-ecc-placement dt-bindings: mtd: Document nand-ecc-engine dt-bindings: mtd: Document boolean NAND ECC properties mtd: nand: Introduce the ECC engine framework mtd: rawnand: Separate the ECC engine type and the ECC byte placement mtd: rawnand: Use the new ECC engine type enumeration mtd: nand: Create a helper to extract the ECC configuration mtd: spinand: Use nanddev_get_ecc_conf() when relevant mtd: nand: Create helpers to set/extract the ECC requirements mtd: rawnand: Use nanddev_get/set_ecc_requirements() when relevant mtd: nand: Use the new generic ECC object mtd: rawnand: Make use of the ECC framework mtd: rawnand: Use the ECC framework OOB layouts mtd: rawnand: Use the ECC framework nand_ecc_is_strong_enough() helper mtd: rawnand: Use the ECC framework user input parsing bits mtd: rawnand: Use the NAND framework user_conf object for ECC flags mtd: spear_smi: Enable compile testing Pavel Machek (1): mtd: rawnand: oxnas: cleanup/simplify code Qinglang Miao (1): mtd: spear_smi: use for_each_child_of_node() macro Richard Weinberger (3): Merge tag 'nand/for-5.10' of git://git.kernel.org/.../mtd/linux into mtd/next Merge tag 'spi-nor/for-5.10' of git://git.kernel.org/.../mtd/linux into mtd/next Merge tag 'cfi/for-5.10' of gitolite.kernel.org:pub/scm/linux/kernel/git/mtd/linux into mtd/next Robert Marko (1): mtd: spi-nor: macronix: Add SECT_4K to mx25l12805d Serge Semin (1): mtd: physmap: Add Baikal-T1 physically mapped ROM support Sergei Shtylyov (1): mtd: hyperbus: add Renesas RPC-IF driver Tudor Ambarus (2): mtd: rawnand: Introduce nand_set_ecc_on_host_ops() mtd: rawnand: Don't overwrite the error code from nand_set_ecc_soft_ops() Vignesh Raghavendra (6): mtd: hyperbus: Provide per device private pointer mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access mtd: hyperbus: hbmc-am654: Drop pm_runtime* calls from probe mtd: hyperbus: hbmc-am654: Add DMA support for reads Revert "mtd: spi-nor: Prefer asynchronous probe" mtd: hyperbus: Fix build failure when only RPCIF_HYPERBUS is enabled Wei Yongjun (1): mtd: rawnand: pasemi: Make pasemi_device_ready() static Yongqiang Liu (1): mtd: mtdcore: Convert to DEFINE_SHOW_ATTRIBUTE YouChing Lin (2): mtd: spinand: macronix: Add support for MX31LF1GE4BC mtd: spinand: macronix: Add support for MX31UF1GE4BC YueHaibing (1): mtd: rawnand: vf610: Remove unused function vf610_nfc_transfer_size() .../devicetree/bindings/mtd/nand-controller.yaml | 31 ++ arch/arm/mach-davinci/board-da830-evm.c | 2 +- arch/arm/mach-davinci/board-da850-evm.c | 2 +- arch/arm/mach-davinci/board-dm355-evm.c | 2 +- arch/arm/mach-davinci/board-dm355-leopard.c | 3 +- arch/arm/mach-davinci/board-dm365-evm.c | 2 +- arch/arm/mach-davinci/board-dm644x-evm.c | 2 +- arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- arch/arm/mach-davinci/board-mityomapl138.c | 2 +- arch/arm/mach-davinci/board-neuros-osd2.c | 2 +- arch/arm/mach-davinci/board-omapl138-hawk.c | 2 +- arch/arm/mach-s3c24xx/common-smdk.c | 2 +- arch/arm/mach-s3c24xx/mach-anubis.c | 2 +- arch/arm/mach-s3c24xx/mach-at2440evb.c | 2 +- arch/arm/mach-s3c24xx/mach-bast.c | 2 +- arch/arm/mach-s3c24xx/mach-gta02.c | 2 +- arch/arm/mach-s3c24xx/mach-jive.c | 2 +- arch/arm/mach-s3c24xx/mach-mini2440.c | 2 +- arch/arm/mach-s3c24xx/mach-osiris.c | 2 +- arch/arm/mach-s3c24xx/mach-qt2410.c | 2 +- arch/arm/mach-s3c24xx/mach-rx1950.c | 2 +- arch/arm/mach-s3c24xx/mach-rx3715.c | 2 +- arch/arm/mach-s3c24xx/mach-vstms.c | 2 +- arch/arm/mach-s3c64xx/mach-hmt.c | 2 +- arch/arm/mach-s3c64xx/mach-mini6410.c | 2 +- arch/arm/mach-s3c64xx/mach-real6410.c | 2 +- drivers/mtd/devices/Kconfig | 2 +- drivers/mtd/devices/lart.c | 10 +- drivers/mtd/devices/spear_smi.c | 4 +- drivers/mtd/hyperbus/Kconfig | 7 + drivers/mtd/hyperbus/Makefile | 1 + drivers/mtd/hyperbus/hbmc-am654.c | 144 +++++- drivers/mtd/hyperbus/rpc-if.c | 170 +++++++ drivers/mtd/lpddr/lpddr2_nvm.c | 35 +- drivers/mtd/lpddr/lpddr_cmds.c | 28 ++ drivers/mtd/maps/Kconfig | 11 + drivers/mtd/maps/Makefile | 1 + drivers/mtd/maps/physmap-bt1-rom.c | 126 +++++ drivers/mtd/maps/physmap-bt1-rom.h | 17 + drivers/mtd/maps/physmap-core.c | 8 +- drivers/mtd/maps/vmu-flash.c | 11 +- drivers/mtd/mtdconcat.c | 43 ++ drivers/mtd/mtdcore.c | 28 +- drivers/mtd/mtdoops.c | 11 +- drivers/mtd/nand/Kconfig | 8 + drivers/mtd/nand/Makefile | 2 + drivers/mtd/nand/ecc.c | 484 ++++++++++++++++++ drivers/mtd/nand/onenand/onenand_base.c | 9 +- drivers/mtd/nand/onenand/onenand_omap2.c | 5 +- drivers/mtd/nand/raw/Kconfig | 1 + drivers/mtd/nand/raw/ams-delta.c | 6 +- drivers/mtd/nand/raw/arasan-nand-controller.c | 16 +- drivers/mtd/nand/raw/atmel/nand-controller.c | 457 +++++++++-------- drivers/mtd/nand/raw/au1550nd.c | 4 +- drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c | 3 +- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 28 +- drivers/mtd/nand/raw/cadence-nand-controller.c | 12 +- drivers/mtd/nand/raw/cafe_nand.c | 3 +- drivers/mtd/nand/raw/cs553x_nand.c | 2 +- drivers/mtd/nand/raw/davinci_nand.c | 38 +- drivers/mtd/nand/raw/denali.c | 3 +- drivers/mtd/nand/raw/denali_pci.c | 2 +- drivers/mtd/nand/raw/diskonchip.c | 3 +- drivers/mtd/nand/raw/fsl_elbc_nand.c | 20 +- drivers/mtd/nand/raw/fsl_ifc_nand.c | 12 +- drivers/mtd/nand/raw/fsl_upm.c | 4 +- drivers/mtd/nand/raw/fsmc_nand.c | 14 +- drivers/mtd/nand/raw/gpio.c | 4 +- drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 21 +- drivers/mtd/nand/raw/hisi504_nand.c | 6 +- drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c | 20 +- drivers/mtd/nand/raw/lpc32xx_mlc.c | 2 +- drivers/mtd/nand/raw/lpc32xx_slc.c | 3 +- drivers/mtd/nand/raw/marvell_nand.c | 101 ++-- drivers/mtd/nand/raw/meson_nand.c | 2 +- drivers/mtd/nand/raw/mpc5121_nfc.c | 4 +- drivers/mtd/nand/raw/mtk_nand.c | 12 +- drivers/mtd/nand/raw/mxc_nand.c | 25 +- drivers/mtd/nand/raw/nand_base.c | 554 ++++++++------------- drivers/mtd/nand/raw/nand_bch.c | 1 + drivers/mtd/nand/raw/nand_esmt.c | 15 +- drivers/mtd/nand/raw/nand_hynix.c | 44 +- drivers/mtd/nand/raw/nand_jedec.c | 9 +- drivers/mtd/nand/raw/nand_micron.c | 23 +- drivers/mtd/nand/raw/nand_onfi.c | 17 +- drivers/mtd/nand/raw/nand_samsung.c | 22 +- drivers/mtd/nand/raw/nand_toshiba.c | 19 +- drivers/mtd/nand/raw/nandsim.c | 8 +- drivers/mtd/nand/raw/ndfc.c | 2 +- drivers/mtd/nand/raw/omap2.c | 22 +- drivers/mtd/nand/raw/orion_nand.c | 4 +- drivers/mtd/nand/raw/oxnas_nand.c | 3 +- drivers/mtd/nand/raw/pasemi_nand.c | 6 +- drivers/mtd/nand/raw/plat_nand.c | 4 +- drivers/mtd/nand/raw/qcom_nandc.c | 26 +- drivers/mtd/nand/raw/r852.c | 3 +- drivers/mtd/nand/raw/s3c2410.c | 20 +- drivers/mtd/nand/raw/sh_flctl.c | 6 +- drivers/mtd/nand/raw/sharpsl.c | 2 +- drivers/mtd/nand/raw/socrates_nand.c | 5 +- drivers/mtd/nand/raw/stm32_fmc2_nand.c | 11 +- drivers/mtd/nand/raw/sunxi_nand.c | 27 +- drivers/mtd/nand/raw/tango_nand.c | 4 +- drivers/mtd/nand/raw/tegra_nand.c | 37 +- drivers/mtd/nand/raw/tmio_nand.c | 2 +- drivers/mtd/nand/raw/txx9ndfmc.c | 2 +- drivers/mtd/nand/raw/vf610_nfc.c | 17 +- drivers/mtd/nand/raw/xway_nand.c | 4 +- drivers/mtd/nand/spi/core.c | 12 +- drivers/mtd/nand/spi/gigadevice.c | 63 ++- drivers/mtd/nand/spi/macronix.c | 27 +- drivers/mtd/nand/spi/toshiba.c | 6 +- drivers/mtd/parsers/Kconfig | 2 +- drivers/mtd/spi-nor/controllers/intel-spi-pci.c | 1 + drivers/mtd/spi-nor/macronix.c | 2 +- drivers/mtd/spi-nor/winbond.c | 9 + include/linux/mtd/hyperbus.h | 13 + include/linux/mtd/nand.h | 188 ++++++- include/linux/mtd/pfow.h | 33 -- include/linux/mtd/rawnand.h | 34 +- include/linux/platform_data/mtd-davinci.h | 9 +- include/linux/platform_data/mtd-nand-s3c2410.h | 2 +- 122 files changed, 2317 insertions(+), 1078 deletions(-) create mode 100644 drivers/mtd/hyperbus/rpc-if.c create mode 100644 drivers/mtd/maps/physmap-bt1-rom.c create mode 100644 drivers/mtd/maps/physmap-bt1-rom.h create mode 100644 drivers/mtd/nand/ecc.c