From patchwork Thu Sep 6 22:38:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boris Brezillon X-Patchwork-Id: 10591191 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E60A369B3 for ; Thu, 6 Sep 2018 22:38:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D3E102AF42 for ; Thu, 6 Sep 2018 22:38:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C777D2AF41; Thu, 6 Sep 2018 22:38:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 45B902AF3E for ; Thu, 6 Sep 2018 22:38:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728944AbeIGDQh (ORCPT ); Thu, 6 Sep 2018 23:16:37 -0400 Received: from mail.bootlin.com ([62.4.15.54]:45325 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728941AbeIGDQg (ORCPT ); Thu, 6 Sep 2018 23:16:36 -0400 Received: by mail.bootlin.com (Postfix, from userid 110) id 81F1D207B4; Fri, 7 Sep 2018 00:38:55 +0200 (CEST) Received: from localhost.localdomain (91-160-177-164.subs.proxad.net [91.160.177.164]) by mail.bootlin.com (Postfix) with ESMTPSA id D353420789; Fri, 7 Sep 2018 00:38:54 +0200 (CEST) From: Boris Brezillon To: Boris Brezillon , Richard Weinberger , Miquel Raynal , linux-mtd@lists.infradead.org Cc: David Woodhouse , Brian Norris , Marek Vasut , Jonathan Corbet , linux-doc@vger.kernel.org, Hartley Sweeten , Ryan Mallon , Alexander Shiyan , Shawn Guo , Sascha Hauer , Fabio Estevam , NXP Linux Team , Imre Kaloz , Krzysztof Halasa , Tony Lindgren , linux-omap@vger.kernel.org, Alexander Clouter , Thomas Petazzoni , Gregory CLEMENT , Jason Cooper , Sebastian Hesselbarth , Andrew Lunn , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Ralf Baechle , linux-mips@linux-mips.org, Yoshinori Sato , Rich Felker , linux-sh@vger.kernel.org, Greg Kroah-Hartman , devel@driverdev.osuosl.org Subject: [PATCH 00/19] mtd: rawnand: API cleanup (2nd batch) Date: Fri, 7 Sep 2018 00:38:32 +0200 Message-Id: <20180906223851.6964-1-boris.brezillon@bootlin.com> X-Mailer: git-send-email 2.14.1 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hello, This is the 2nd batch of API cleanup patches. This time we move deprecated hooks/fields to the nand_legacy struct, and then move some of the code found in nand_base.c into separate source/header files. With this new organization, new comers should more easily identify the bits they can use in their NAND controller drivers and those that are only meant for core code. It also shrink a bit nand_base.c which was over 6000 lines of code. Note that existing coding style issues (reported by checkpatch) in arch or driver code are intentionally not fixed to keep the series focused on the API/core cleanup. Regards, Boris Boris Brezillon (19): mtd: rawnand: Leave chip->IO_ADDR_{R,W} to NULL when unused mtd: rawnand: Create a legacy struct and move ->IO_ADDR_{R,W} there mtd: rawnand: Deprecate ->{read,write}_{byte,buf}() hooks mtd: rawnand: Deprecate ->cmd_ctrl() and ->cmdfunc() mtd: rawnand: Deprecate ->dev_ready() and ->waitfunc() mtd: rawnand: Deprecate ->block_{bad,markbad}() hooks mtd: rawnand: Deprecate ->erase() mtd: rawnand: Deprecate ->{set,get}_features() hooks mtd: rawnand: Deprecate ->chip_delay mtd: rawnand: Move function prototypes after struct declarations mtd: rawnand: Get rid of nand_flash_dev forward declation mtd: rawnand: Get rid of the duplicate nand_chip forward declaration mtd: rawnand: Get rid of a few unused definitions mtd: rawnand: Move platform_nand_xxx definitions out of rawnand.h mtd: rawnand: Inline onfi_get_async_timing_mode() mtd: rawnand: Keep all internal stuff private mtd: rawnand: Move legacy code to nand_legacy.c mtd: rawnand: Move ONFI code to nand_onfi.c mtd: rawnand: Move JEDEC code to nand_jedec.c Documentation/driver-api/mtdnand.rst | 30 +- arch/arm/mach-ep93xx/snappercl15.c | 8 +- arch/arm/mach-ep93xx/ts72xx.c | 9 +- arch/arm/mach-imx/mach-qong.c | 6 +- arch/arm/mach-ixp4xx/ixdp425-setup.c | 2 +- arch/arm/mach-omap1/board-fsample.c | 3 +- arch/arm/mach-omap1/board-h2.c | 3 +- arch/arm/mach-omap1/board-h3.c | 2 +- arch/arm/mach-omap1/board-nand.c | 2 +- arch/arm/mach-omap1/board-perseus2.c | 3 +- arch/arm/mach-orion5x/ts78xx-setup.c | 9 +- arch/arm/mach-pxa/balloon3.c | 5 +- arch/arm/mach-pxa/em-x270.c | 9 +- arch/arm/mach-pxa/palmtx.c | 5 +- arch/mips/alchemy/devboards/db1200.c | 9 +- arch/mips/alchemy/devboards/db1300.c | 9 +- arch/mips/alchemy/devboards/db1550.c | 9 +- arch/mips/netlogic/xlr/platform-flash.c | 3 +- arch/mips/pnx833x/common/platform.c | 5 +- arch/mips/rb532/devices.c | 5 +- arch/sh/boards/mach-migor/setup.c | 8 +- drivers/mtd/nand/raw/Makefile | 4 +- drivers/mtd/nand/raw/ams-delta.c | 22 +- drivers/mtd/nand/raw/atmel/nand-controller.c | 22 +- drivers/mtd/nand/raw/au1550nd.c | 43 +- drivers/mtd/nand/raw/bcm47xxnflash/ops_bcm4706.c | 22 +- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 15 +- drivers/mtd/nand/raw/cafe_nand.c | 22 +- drivers/mtd/nand/raw/cmx270_nand.c | 28 +- drivers/mtd/nand/raw/cs553x_nand.c | 42 +- drivers/mtd/nand/raw/davinci_nand.c | 34 +- drivers/mtd/nand/raw/denali.c | 23 +- drivers/mtd/nand/raw/diskonchip.c | 50 +- drivers/mtd/nand/raw/fsl_elbc_nand.c | 18 +- drivers/mtd/nand/raw/fsl_ifc_nand.c | 24 +- drivers/mtd/nand/raw/fsl_upm.c | 30 +- drivers/mtd/nand/raw/fsmc_nand.c | 1 - drivers/mtd/nand/raw/gpio.c | 16 +- drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 22 +- drivers/mtd/nand/raw/hisi504_nand.c | 18 +- drivers/mtd/nand/raw/internals.h | 114 ++ drivers/mtd/nand/raw/jz4740_nand.c | 14 +- drivers/mtd/nand/raw/jz4780_nand.c | 10 +- drivers/mtd/nand/raw/lpc32xx_mlc.c | 12 +- drivers/mtd/nand/raw/lpc32xx_slc.c | 26 +- drivers/mtd/nand/raw/mpc5121_nfc.c | 14 +- drivers/mtd/nand/raw/mtk_nand.c | 12 +- drivers/mtd/nand/raw/mxc_nand.c | 20 +- drivers/mtd/nand/raw/nand_amd.c | 2 +- drivers/mtd/nand/raw/nand_base.c | 1260 +++------------------- drivers/mtd/nand/raw/nand_bbt.c | 5 +- drivers/mtd/nand/raw/nand_hynix.c | 9 +- drivers/mtd/nand/raw/nand_ids.c | 4 +- drivers/mtd/nand/raw/nand_jedec.c | 113 ++ drivers/mtd/nand/raw/nand_legacy.c | 642 +++++++++++ drivers/mtd/nand/raw/nand_macronix.c | 2 +- drivers/mtd/nand/raw/nand_micron.c | 3 +- drivers/mtd/nand/raw/nand_onfi.c | 305 ++++++ drivers/mtd/nand/raw/nand_samsung.c | 2 +- drivers/mtd/nand/raw/nand_timings.c | 18 +- drivers/mtd/nand/raw/nand_toshiba.c | 2 +- drivers/mtd/nand/raw/nandsim.c | 14 +- drivers/mtd/nand/raw/ndfc.c | 14 +- drivers/mtd/nand/raw/nuc900_nand.c | 22 +- drivers/mtd/nand/raw/omap2.c | 62 +- drivers/mtd/nand/raw/orion_nand.c | 12 +- drivers/mtd/nand/raw/oxnas_nand.c | 10 +- drivers/mtd/nand/raw/pasemi_nand.c | 32 +- drivers/mtd/nand/raw/plat_nand.c | 17 +- drivers/mtd/nand/raw/qcom_nandc.c | 39 +- drivers/mtd/nand/raw/r852.c | 14 +- drivers/mtd/nand/raw/s3c2410.c | 34 +- drivers/mtd/nand/raw/sh_flctl.c | 18 +- drivers/mtd/nand/raw/sharpsl.c | 12 +- drivers/mtd/nand/raw/sm_common.c | 2 +- drivers/mtd/nand/raw/socrates_nand.c | 16 +- drivers/mtd/nand/raw/sunxi_nand.c | 14 +- drivers/mtd/nand/raw/tango_nand.c | 12 +- drivers/mtd/nand/raw/tmio_nand.c | 20 +- drivers/mtd/nand/raw/txx9ndfmc.c | 12 +- drivers/mtd/nand/raw/xway_nand.c | 12 +- drivers/staging/mt29f_spinand/mt29f_spinand.c | 16 +- include/linux/mtd/jedec.h | 91 ++ include/linux/mtd/onfi.h | 178 +++ include/linux/mtd/platnand.h | 74 ++ include/linux/mtd/rawnand.h | 555 ++-------- 86 files changed, 2300 insertions(+), 2191 deletions(-) create mode 100644 drivers/mtd/nand/raw/internals.h create mode 100644 drivers/mtd/nand/raw/nand_jedec.c create mode 100644 drivers/mtd/nand/raw/nand_legacy.c create mode 100644 drivers/mtd/nand/raw/nand_onfi.c create mode 100644 include/linux/mtd/jedec.h create mode 100644 include/linux/mtd/onfi.h create mode 100644 include/linux/mtd/platnand.h