From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 1 Dec 2017 10:37:48 +0100 From: Boris Brezillon To: Miquel Raynal Cc: Richard Weinberger , David Woodhouse , Brian Norris , Marek Vasut , Cyrille Pitchen , linux-mtd@lists.infradead.org, Wenyou Yang , Nicolas Ferre , Alexandre Belloni , Kamal Dasu , Masahiro Yamada , Han Xu , Vladimir Zapolskiy , Sylvain Lemieux , Matthias Brugger , Ezequiel Garcia , Maxim Levitsky , Maxime Ripard , Chen-Yu Tsai , Marc Gonzalez , Stefan Agner , Greg Kroah-Hartman , Thomas Petazzoni , Gregory Clement , Antoine Tenart , Nadav Haklai , Ofer Heifetz , Hanna Hawa , linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, linux-mediatek@lists.infradead.org, devel@driverdev.osuosl.org Subject: Re: [PATCH 0/5] Introduce the new NAND core interface: ->exec_op() Message-ID: <20171201103748.5bbd8ccc@bbrezillon> In-Reply-To: <20171130170132.27522-1-miquel.raynal@free-electrons.com> References: <20171130170132.27522-1-miquel.raynal@free-electrons.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi all, On Thu, 30 Nov 2017 18:01:27 +0100 Miquel Raynal wrote: > Hi, >=20 > This series adds the implementation of the NAND framework ->exec_op() > interface with all the related hooks and helpers. The reasons for adding > it are explained in details in the commit log: >=20 > "mtd: nand: add ->exec_op() implementation" >=20 > Long story short: it will ease later expansion of the framework, as well > as the implementation of new vendor specific commands, and should also > ease driver development. >=20 > A lot of comments are written to explain how to use the new API. Several > NAND controller drivers are already/almost converted to ->exec_op(), in > particular a rework of the Marvell NAND controller driver, and will > follow. One can have a look at them as examples to understand how to > implement or rework NAND controller drivers. A proper external > documentation is being written and will later be submitted. >=20 > Thank you, > Miqu=C3=A8l >=20 >=20 > Boris Brezillon (2): > mtd: nand: provide several helpers to do common NAND operations > mtd: nand: force drivers to explicitly send READ/PROG commands >=20 > Miquel Raynal (3): > mtd: nand: use usual return values for the ->erase() hook > mtd: nand: use a static data_interface in the nand_chip structure > mtd: nand: add ->exec_op() implementation Applied patches 1 to 4 (with a rewording of patch 4 commit message and a fix in patch 1 to make single_erase() compliant with the new ->erase() semantic). Note that I was prompt to apply those patches because I want them to spend as much time as possible in linux-next so that we can detect and fix regressions before the merge window. So please test linux-next on your hardware. This being said, nothing is set in stone, and if the series appears to break existing setups and we can't fix the problems before -rc6, I'll drop it. Thanks, Boris >=20 > drivers/mtd/nand/atmel/nand-controller.c | 9 +- > drivers/mtd/nand/bf5xx_nand.c | 6 +- > drivers/mtd/nand/brcmnand/brcmnand.c | 20 +- > drivers/mtd/nand/cafe_nand.c | 20 +- > drivers/mtd/nand/denali.c | 40 +- > 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 | 6 +- > drivers/mtd/nand/fsmc_nand.c | 5 +- > drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 77 +- > 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/mtk_nand.c | 25 +- > drivers/mtd/nand/nand_base.c | 2161 +++++++++++++++++++= +++--- > drivers/mtd/nand/nand_hynix.c | 124 +- > drivers/mtd/nand/nand_micron.c | 83 +- > drivers/mtd/nand/nand_timings.c | 21 +- > drivers/mtd/nand/omap2.c | 18 +- > drivers/mtd/nand/pxa3xx_nand.c | 14 +- > drivers/mtd/nand/qcom_nandc.c | 27 +- > drivers/mtd/nand/r852.c | 11 +- > drivers/mtd/nand/sh_flctl.c | 6 +- > drivers/mtd/nand/sunxi_nand.c | 97 +- > drivers/mtd/nand/tango_nand.c | 27 +- > drivers/mtd/nand/tmio_nand.c | 5 +- > drivers/mtd/nand/vf610_nfc.c | 6 +- > drivers/staging/mt29f_spinand/mt29f_spinand.c | 5 +- > include/linux/mtd/rawnand.h | 414 ++++- > 31 files changed, 2673 insertions(+), 654 deletions(-) >=20