From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.free-electrons.com ([62.4.15.54]) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1ecv1Z-0004tD-Mq for linux-mtd@lists.infradead.org; Sat, 20 Jan 2018 15:25:44 +0000 Date: Sat, 20 Jan 2018 16:25:26 +0100 From: Boris Brezillon To: "linux-mtd@lists.infradead.org" Cc: Marek Vasut , Brian Norris , Cyrille Pitchen , Richard Weinberger , David Woodhouse Subject: [GIT PULL v2] mtd: nand: Changes for 4.16 Message-ID: <20180120162526.4e2a675e@bbrezillon> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hello, Here is the NAND PR for 4.16. As can be seen in the diffstat, the NAND subsystem has been quite active. That's mainly caused by the introduction of the ->exec_op() hook and the rework of the Marvell driver. Regards, Boris Changes in v2: - Add a few fixes for the omap OneNAND and marvell NAND drivers The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323: Linux 4.15-rc1 (2017-11-26 16:01:47 -0800) are available in the git repository at: git://git.infradead.org/linux-mtd.git tags/nand/for-4.16 for you to fetch changes up to c1a72e2dbb4abb90bd408480d7c48ba40cb799ce: mtd: nand: Fix build issues due to an anonymous union (2018-01-20 10:39:02 +0100) ---------------------------------------------------------------- Core changes: * Fix NAND_CMD_NONE handling in nand_command[_lp]() hooks * Introduce the ->exec_op() infrastructure * Rework NAND buffers handling * Fix ECC requirements for K9F4G08U0D * Fix nand_do_read_oob() to return the number of bitflips * Mark K9F1G08U0E as not supporting subpage writes Driver changes: * MTK: Rework the driver to support new IP versions * OMAP OneNAND: Full rework to use new APIs (libgpio, dmaengine) and fix DT support * Marvell: Add a new driver to replace the pxa3xx one ---------------------------------------------------------------- Arnd Bergmann (1): mtd: onenand: omap2: print resource using %pR format string Boris Brezillon (6): mtd: nand: hynix: Don't wait after applying new read-retry params mtd: nand: provide several helpers to do common NAND operations mtd: nand: force drivers to explicitly send READ/PROG commands mtd: nand: denali: Avoid using ecc->code_buf as a temporary buffer mtd: nand: Only allocate ecc->{calc, code}_buf when actually needed Merge tag 'gpmc-omap-for-v4.16-immutable' of https://github.com/rogerq/linux into nand/next Christophe JAILLET (5): mtd: onenand: samsung: use devm_ function to simplify code and fix some leaks mtd: onenand: samsung: return an error if 'mtd_device_parse_register()' fails mtd: onenand: samsung: Propagate the error returned by 'onenand_scan()' mtd: onenand: samsung: Remove a useless include mtd: onenand: samsung: remove incorrect __iomem annotation Colin Ian King (2): mtd: nand: marvell: fix spelling mistake: "suceed"-> "succeed" mtd: nand: marvell: remove redundant variable 'oob_len' Fabio Estevam (2): mtd: nand: brcmnand: Add a NULL check for devm_kasprintf() mtd: nand: qcom: Add a NULL check for devm_kasprintf() Gustavo A. R. Silva (1): mtd: nand: gpmi: replace _manual_ swap with swap macro Jagdish Gediya (1): mtd: nand: ifc: update bufnum mask for ver >= 2.0.0 Jesse Chan (1): mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE Kamal Dasu (1): mtd: nand: brcmnand: Disable prefetch by default Ladislav Michl (15): memory: omap-gpmc: Make 'bank-width' property optional mtd: onenand: Remove obsolete url from Kconfig help mtd: nand: samsung: Disable subpage writes on E-die NAND dt-bindings: mtd: gpmc-onenand: Update properties description ARM: dts: OMAP2+: Add compatible property to onenand node ARM: dts: omap3-igep: Update onenand node timings mtd: onenand: omap2: Remove regulator support mtd: onenand: omap2: Remove skip initial unlocking support mtd: onenand: omap2: Remove partitioning support from platform data mtd: onenand: omap2: Account waiting time as waiting on IO mtd: onenand: omap2: Unify OMAP2 and OMAP3 DMA implementation mtd: onenand: omap2: Do not make delay for GPIO OMAP3 specific mtd: onenand: omap2: Decouple DMA enabling from INT pin availability mtd: onenand: omap2: Configure driver from DT ARM: OMAP2+: Remove gpmc-onenand Masahiro Yamada (6): mtd: nand: remove unnecessary extern from driver headers mtd: nand: denali: rename misleading dma_buf to tmp_buf mtd: nand: cafe: remove use of NAND_OWN_BUFFERS mtd: nand: remove unused NAND_OWN_BUFFERS flag mtd: nand: squash struct nand_buffers into struct nand_chip mtd: nand: cafe: clean up DMA address setup Miquel Raynal (15): mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]() mtd: nand: use usual return values for the ->erase() hook mtd: nand: provide valid ->data_interface during NAND detection mtd: nand: samsung: add ECC requirements for K9F4G08U0D mtd: nand: add ->exec_op() implementation mtd: nand: Fix unfinished comment in nand_init_data_interface() mtd: mtd_oobtest: Handle bitflips during reads mtd: nand: Fix nand_do_read_oob() return value dt-bindings: mtd: document new nand-rb property dt-bindings: mtd: add Marvell NAND controller documentation mtd: nand: add reworked Marvell NAND controller driver mtd: nand: use reworked NAND controller driver with Marvell EBU SoCs MAINTAINERS: Add entry for Marvell NAND controller driver mtd: nand: marvell: Fix missing memory allocation modifier mtd: nand: Fix build issues due to an anonymous union Nicolas Ferre (1): MAINTAINERS: mtd/nand: update Microchip nand entry Peter Ujfalusi (2): mtd: onenand: omap2: Simplify the DMA setup for various paths mtd: onenand: omap2: Convert to use dmaengine for memcpy RogerCC Lin (3): mtd: nand: mtk: update DT bindings mtd: nand: mtk: Support different MTK NAND flash controller IP mtd: nand: mtk: Support MT7622 NAND flash controller. Sascha Hauer (2): mtd: nand: gpmi-nand: Remove wrong Kconfig help text mtd: tests: nandbiterrs: Fix read_page return value Wei Yongjun (1): mtd: onenand: omap2: Remove redundant dev_err call in omap2_onenand_probe() Xiaolei Li (1): mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function Documentation/devicetree/bindings/mtd/gpmc-onenand.txt | 6 +- Documentation/devicetree/bindings/mtd/marvell-nand.txt | 123 ++ Documentation/devicetree/bindings/mtd/mtk-nand.txt | 11 +- Documentation/devicetree/bindings/mtd/nand.txt | 1 + MAINTAINERS | 22 +- arch/arm/boot/dts/omap2420-n8x0-common.dtsi | 1 + arch/arm/boot/dts/omap3-igep.dtsi | 30 +- arch/arm/boot/dts/omap3-n900.dts | 1 + arch/arm/boot/dts/omap3-n950-n9.dtsi | 1 + arch/arm/boot/dts/omap3430-sdp.dts | 1 + arch/arm/configs/mvebu_v7_defconfig | 2 +- arch/arm/mach-omap2/Makefile | 3 - arch/arm/mach-omap2/gpmc-onenand.c | 409 ------ arch/arm64/configs/defconfig | 2 +- drivers/memory/omap-gpmc.c | 163 ++- drivers/mtd/nand/Kconfig | 17 +- drivers/mtd/nand/Makefile | 1 + drivers/mtd/nand/atmel/nand-controller.c | 9 +- drivers/mtd/nand/bf5xx_nand.c | 6 +- drivers/mtd/nand/brcmnand/brcmnand.c | 38 +- drivers/mtd/nand/cafe_nand.c | 52 +- drivers/mtd/nand/denali.c | 84 +- drivers/mtd/nand/denali.h | 4 +- drivers/mtd/nand/denali_pci.c | 4 + drivers/mtd/nand/diskonchip.c | 4 +- drivers/mtd/nand/docg4.c | 21 +- drivers/mtd/nand/fsl_elbc_nand.c | 10 +- drivers/mtd/nand/fsl_ifc_nand.c | 13 +- drivers/mtd/nand/fsmc_nand.c | 9 +- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 97 +- drivers/mtd/nand/gpmi-nand/gpmi-nand.h | 46 +- drivers/mtd/nand/hisi504_nand.c | 9 +- drivers/mtd/nand/jz4740_nand.c | 16 +- drivers/mtd/nand/lpc32xx_mlc.c | 7 +- drivers/mtd/nand/lpc32xx_slc.c | 33 +- drivers/mtd/nand/marvell_nand.c | 2896 +++++++++++++++++++++++++++++++++++++++++ drivers/mtd/nand/mtk_ecc.c | 126 +- drivers/mtd/nand/mtk_ecc.h | 3 +- drivers/mtd/nand/mtk_nand.c | 76 +- drivers/mtd/nand/nand_base.c | 2230 ++++++++++++++++++++++++++----- drivers/mtd/nand/nand_bbt.c | 2 +- drivers/mtd/nand/nand_hynix.c | 129 +- drivers/mtd/nand/nand_micron.c | 83 +- drivers/mtd/nand/nand_samsung.c | 19 + drivers/mtd/nand/nand_timings.c | 21 +- drivers/mtd/nand/omap2.c | 28 +- drivers/mtd/nand/pxa3xx_nand.c | 14 +- drivers/mtd/nand/qcom_nandc.c | 30 +- drivers/mtd/nand/r852.c | 11 +- drivers/mtd/nand/sh_flctl.c | 6 +- drivers/mtd/nand/sm_common.h | 2 +- drivers/mtd/nand/sunxi_nand.c | 103 +- drivers/mtd/nand/tango_nand.c | 27 +- drivers/mtd/nand/tmio_nand.c | 5 +- drivers/mtd/nand/vf610_nfc.c | 6 +- drivers/mtd/onenand/Kconfig | 7 +- drivers/mtd/onenand/omap2.c | 577 +++----- drivers/mtd/onenand/samsung.c | 185 +-- drivers/mtd/tests/nandbiterrs.c | 2 +- drivers/mtd/tests/oobtest.c | 21 + drivers/staging/mt29f_spinand/mt29f_spinand.c | 5 +- include/linux/mtd/rawnand.h | 443 ++++++- include/linux/omap-gpmc.h | 28 + include/linux/platform_data/mtd-onenand-omap2.h | 34 - 64 files changed, 6455 insertions(+), 1920 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/marvell-nand.txt delete mode 100644 arch/arm/mach-omap2/gpmc-onenand.c create mode 100644 drivers/mtd/nand/marvell_nand.c delete mode 100644 include/linux/platform_data/mtd-onenand-omap2.h