[PATCH 0/5] Introduce the new NAND core interface: ->exec_op()
Boris Brezillon
boris.brezillon at free-electrons.com
Fri Dec 1 01:37:48 PST 2017
Hi all,
On Thu, 30 Nov 2017 18:01:27 +0100
Miquel Raynal <miquel.raynal at free-electrons.com> wrote:
> Hi,
>
> 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:
>
> "mtd: nand: add ->exec_op() implementation"
>
> 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.
>
> 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.
>
> Thank you,
> Miquèl
>
>
> Boris Brezillon (2):
> mtd: nand: provide several helpers to do common NAND operations
> mtd: nand: force drivers to explicitly send READ/PROG commands
>
> 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
>
> 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(-)
>
More information about the linux-arm-kernel
mailing list