From patchwork Mon Jan 29 09:34:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boris Brezillon X-Patchwork-Id: 867050 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YjTS8JE/"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zVPWH44vWz9s7M for ; Mon, 29 Jan 2018 20:35:23 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:To:From :Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=SWhqJ/VfB+x2dGxh0TEuQO/Ek+KPPkmJVzcvJxiAM8w=; b=YjTS8JE/6+SqBs +6Gzr1aHlcUsQuYzKfzIAr5roXSa1FcHfSbJdYKaHOomBD9QN40HhTDWmXUIQz6fD7rx4OoUWFOdF RPwH+qfZ+JoNhHx40tJ+8mtZwSOI2mwZDqcSz7tY/2AS6W7pBtPVKCv5R0M4+4SIImS9FyUDLZIXa oHpvPfppCFyZor1F8g1TdfQsIlv2L/Snz0BCW0n3DeE7lanhRpRZngNt7ZLZLiCG/kgJ4BfaKU/5G gfFWYcXEeU4RgXqQVBcbN5T6h/pol9RbWqIGmi2ufHBkBf8AQwovqwheX3F8SwUIppm5mhcqxVPYh PD9yGDfeQ44K4pYg/spA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1eg5qQ-0000oE-1w; Mon, 29 Jan 2018 09:35:18 +0000 Received: from mail.free-electrons.com ([62.4.15.54]) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1eg5qI-0007vH-NO for linux-mtd@lists.infradead.org; Mon, 29 Jan 2018 09:35:13 +0000 Received: by mail.free-electrons.com (Postfix, from userid 110) id 0908D21997; Mon, 29 Jan 2018 10:34:58 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.4.0 Received: from bbrezillon (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.free-electrons.com (Postfix) with ESMTPSA id AC13121991; Mon, 29 Jan 2018 10:34:47 +0100 (CET) Date: Mon, 29 Jan 2018 10:34:47 +0100 From: Boris Brezillon To: Linus Torvalds Subject: [GIT PULL] mtd: Changes for 4.16 Message-ID: <20180129103447.2e786609@bbrezillon> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Spam-Note: CRM114 invocation failed X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Marek Vasut , Richard Weinberger , "linux-kernel@vger.kernel.org" , "linux-mtd@lists.infradead.org" , Cyrille Pitchen , Brian Norris , David Woodhouse Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Hi Linus, Here is the MTD PR for 4.16. Regards, Boris 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/mtd/for-4.16 for you to fetch changes up to 571cb17b23eccc22f18c4fc0a0fc34cf0abca7ef: Merge tag 'nand/for-4.16' of git://git.infradead.org/linux-mtd into mtd/next (2018-01-29 09:58:36 +0100) ---------------------------------------------------------------- MTD changes: Core changes: * Rework core functions to avoid duplicating generic checks in NAND/OneNAND sub-layers * Update the MAINTAINERS entry to reflect the fact that MTD maintainers now use a single git tree Driver changes: * CFI: use macros instead of inline functions to limit stack usage and make KASAN happy NAND changes: 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 SPI NOR changes: Core changes: * Add support to new ISSI and Cypress/Spansion memory parts. * Fix support of Micron memories by checking error bits in the FSR. * Fix update of block-protection bits by reading back the SR. * Restore the internal state of the SPI flash memory when removing the device. Driver changes: * Maintenance for Freescale, Intel and Metiatek drivers. * Add support of the direct access mode for the Cadence QSPI controller. ---------------------------------------------------------------- Aaron Sierra (1): mtd: spi-nor: Check that BP bits are set properly Angelo Dureghello (1): mtd: spi-nor: add support for ISSI is25lp128 Antonio Borneo (1): mtd: mchp23k256: propagate return value of spi_sync() Arnd Bergmann (2): mtd: cfi: convert inline functions to macros mtd: onenand: omap2: print resource using %pR format string Bean Huo (beanhuo) (1): mtd: spi-nor: check FSR error bits for Micron memories Boris Brezillon (15): 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 MAINTAINERS: Move all MTD related branches to a single repo mtd: Do not allow MTD devices with inconsistent erase properties mtd: Add an helper to make erase request aligned on ->erasesize Merge tag 'gpmc-omap-for-v4.16-immutable' of https://github.com/rogerq/linux into nand/next mtd: mtdpart: Make ECC stat handling consistent mtd: Fallback to ->_read/write_oob() when ->_read/write() is missing mtd: Remove duplicate checks on mtd_oob_ops parameter mtd: nand: gpmi: Fix subpage reads Merge tag 'spi-nor/for-4.16' of git://git.infradead.org/linux-mtd into mtd/next Merge tag 'nand/for-4.16' of git://git.infradead.org/linux-mtd into mtd/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 (4): mtd: mtdswap: make array 'name' static const, shrinks object size mtd: sharpslpart: fix overflow on block_adr calculation mtd: nand: marvell: fix spelling mistake: "suceed"-> "succeed" mtd: nand: marvell: remove redundant variable 'oob_len' Fabio Estevam (3): dt-bindings: mtd: fsl-quadspi: Pass the qspi clock names mtd: nand: brcmnand: Add a NULL check for devm_kasprintf() mtd: nand: qcom: Add a NULL check for devm_kasprintf() Guochun Mao (1): mtd: mtk-nor: modify functions' name more generally Gustavo A. R. Silva (1): mtd: nand: gpmi: replace _manual_ swap with swap macro Hou Zhiqiang (2): mtd: spi-nor: add an API to restore the status of SPI flash chip mtd: m25p80: restore the status of SPI flash when exiting 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 Julia Lawall (1): mtd: fsl-quadspi: account for const type of of_device_id.data 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 Mika Westerberg (1): spi-nor: intel-spi: Remove unused preopcodes field Miquel Raynal (16): 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 mtd: nand: sunxi: Fix ECC strength choice 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 Rafael Gago (1): mtd: spi-nor: Add support for s25fl128l and s25fl256l 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. Romain Porte (1): mtd: spi-nor: Add ISSI is25lp080d support Sascha Hauer (2): mtd: nand: gpmi-nand: Remove wrong Kconfig help text mtd: tests: nandbiterrs: Fix read_page return value Sean Nyekjaer (2): mtd: spi-nor: add support for is25lq040b mtd: spi-nor: indent issi section Vignesh R (2): mtd: spi-nor: cadence-quadspi: Refactor indirect read/write sequence. mtd: spi-nor: cadence-quadspi: Add support for direct access mode Wei Yongjun (2): mtd: sharpslpart: make local function sharpsl_nand_cleanup_ftl() static 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/fsl-quadspi.txt | 2 +- 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 + Documentation/mtd/spi-nor.txt | 3 + MAINTAINERS | 28 +- 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/devices/docg3.c | 70 - drivers/mtd/devices/m25p80.c | 9 + drivers/mtd/devices/mchp23k256.c | 18 +- drivers/mtd/mtdcore.c | 36 +- drivers/mtd/mtdpart.c | 43 +- drivers/mtd/mtdswap.c | 5 +- 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 | 111 +- 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 | 2603 ++++++++++++++++++++++++++++-------- 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 | 111 +- 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/onenand_base.c | 81 -- drivers/mtd/onenand/samsung.c | 185 +-- drivers/mtd/parsers/sharpslpart.c | 6 +- drivers/mtd/spi-nor/cadence-quadspi.c | 55 +- drivers/mtd/spi-nor/fsl-quadspi.c | 8 +- drivers/mtd/spi-nor/intel-spi.c | 6 - drivers/mtd/spi-nor/mtk-quadspi.c | 240 ++-- drivers/mtd/spi-nor/spi-nor.c | 75 +- drivers/mtd/tests/nandbiterrs.c | 2 +- drivers/mtd/tests/oobtest.c | 21 + drivers/staging/mt29f_spinand/mt29f_spinand.c | 5 +- include/linux/mtd/map.h | 130 +- include/linux/mtd/mtd.h | 28 + include/linux/mtd/rawnand.h | 443 ++++++- include/linux/mtd/spi-nor.h | 12 +- include/linux/omap-gpmc.h | 28 + include/linux/platform_data/mtd-onenand-omap2.h | 34 - 82 files changed, 7013 insertions(+), 2590 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