Introduce the new NAND core interface: ->exec_op()
Get series with b4
b4 am 20171201103748.5bbd8ccc@bbrezillonVersions newest first
- v1 Latest5 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | mtd: nand: use usual return values for the ->erase() hook | +0 | 2 replies | |
| 1/5 | mtd: nand: use usual return values for the ->erase() hook | +0 | 0 replies | |
| 4/5 | mtd: nand: use a static data_interface in the nand_chip structure | +0 | 0 replies | |
| 5/5 | mtd: nand: add ->exec_op() implementation | +0 | 1 reply | |
| 5/5 | mtd: nand: add ->exec_op() implementation | +0 | 1 reply | |
| 5/5 | mtd: nand: add ->exec_op() implementation | +0 | 0 replies |
Reviews trailers per patch
2 of 6 patches have a Reviewed-by or Acked-by.
| Patch | Masahiro Yamada |
|---|---|
| 1/5 | A-b |
| 1/5 | A-b |
| 4/5 | |
| 5/5 | |
| 5/5 | |
| 5/5 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/5] Introduce the new NAND core interface: ->exec_op()
Hi all,
Quoted 23 lines · On Thu, 30 Nov 2017 18:01:27 +0100 Miquel Raynal…
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
Quoted 8 lines
Boris Brezillon (2):
mtd: nand: provide several helpers to do common NAND operations
mtd: nand: force drivers to explicitly send READ/PROG commandsMiquel Raynal (3):
mtd: nand: use usual return values for the ->erase() hook
mtd: nand: use a staticdata_interfacein thenand_chipstructure
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
Quoted 34 lines
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(-)