From patchwork Sat Jan 20 15:25:26 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boris Brezillon X-Patchwork-Id: 863973 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="LOejY2sN"; 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 3zP1jw1fMzz9s82 for ; Sun, 21 Jan 2018 02:25:56 +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=xBhd+VR6SjKhAMm60NBt+BjDWvH5PhG/dqtvW0dMl0M=; b=LOejY2sNiroEtg ip7gXb6a9x9CdT3Y/bYxSzjQTy9qOCV248HzemF1oUvaytFT8F/FiO/Qx4Ncsn6f+348bU8v1ylEA NoOT9RYzO8uDrgriFvV/Pr69M1k0BVUqtRM6m9wq/osIC6tEYvCp+ywsNcZAA/kHMRoIRL7/BmTKN REixmn3/+0IHg/XjXuRDr+NgQAF8M5eHjDepjAYGlWsNtAID34xhbjlDY/0MgnPW/kArySDRihdOk h0vFpWyDAKgdYPyb1iKT0Zxc6cdlSpuT8QRfxEgQrgeckyTeyDCmdZ6j/VquVXO2XT9bKhGubEABQ 6pweWXm0f5AiMSvKiSfw==; 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 1ecv1h-0004tw-6e; Sat, 20 Jan 2018 15:25:49 +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 1ecv1Z-0004tD-Mq for linux-mtd@lists.infradead.org; Sat, 20 Jan 2018 15:25:44 +0000 Received: by mail.free-electrons.com (Postfix, from userid 110) id 42AAE208F0; Sat, 20 Jan 2018 16:25:28 +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, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from bbrezillon (unknown [91.160.177.164]) by mail.free-electrons.com (Postfix) with ESMTPSA id 060CF208C4; Sat, 20 Jan 2018 16:25:28 +0100 (CET) Date: Sat, 20 Jan 2018 16:25:26 +0100 From: Boris Brezillon To: "linux-mtd@lists.infradead.org" Subject: [GIT PULL v2] mtd: nand: Changes for 4.16 Message-ID: <20180120162526.4e2a675e@bbrezillon> X-Mailer: Claws Mail 3.14.1 (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 , Brian Norris , David Woodhouse , Cyrille Pitchen Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org 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