Hello, A bit of context to explain the motivation behind those conversions I've been sending for the last couple of weeks. The raw NAND subsystem carries a lot of history which makes any rework not only painful, but also subject to regressions which we only detect when someone dares to update its kernel on one of those ancient HW. While carrying drivers for old HW is not a problem per se, carrying ancient and unmaintained drivers that are not converted to new APIs is a maintenance burden, hence this massive conversion attempt I'm conducting here. So here is a series converting the CAFE NAND controller driver to exec_op(), plus a bunch of minor improvements done along the way. I hope I'll find someone to test those changes, but if there's no one still owning OLPC HW or no interest in keeping it supported in recent kernel versions, we should definitely consider removing the driver instead. No major changes in this v2, apart from fixes for things reported by Lubomir and Miquel. See the changelog on each patch for more details. Regards, Boris Boris Brezillon (19): mtd: rawnand: Propage CS selection to sub operations mtd: rawnand: cafe: Get rid of an inaccurate kernel doc header mtd: rawnand: cafe: Rename cafe_nand_write_page_lowlevel() mtd: rawnand: cafe: Use a correct ECC mode and pass the ECC alg mtd: rawnand: cafe: Include linux/io.h instead of asm/io.h mtd: rawnand: cafe: Demistify register fields mtd: rawnand: cafe: Factor out the controller initialization logic mtd: rawnand: cafe: Get rid of the debug module param mtd: rawnand: cafe: Use devm_kzalloc and devm_request_irq() mtd: rawnand: cafe: Get rid of a useless label mtd: rawnand: cafe: Explicitly inherit from nand_controller mtd: rawnand: cafe: Don't leave ECC enabled in the write path mtd: rawnand: cafe: Don't split things when reading/writing a page mtd: rawnand: cafe: Add exec_op() support mtd: rawnand: cafe: Get rid of the legacy interface implementation mtd: rawnand: cafe: Adjust the cafe_{read,write}_buf() prototypes mtd: rawnand: cafe: s/uint{8,16,32}_t/u{8,16,32}/ mtd: rawnand: cafe: Drop the cafe_{readl,writel}() wrappers mtd: rawnand: cafe: Get rid of the last printk() drivers/mtd/nand/raw/cafe_nand.c | 798 ++++++++++++++++--------------- drivers/mtd/nand/raw/nand_base.c | 3 +- include/linux/mtd/rawnand.h | 2 + 3 files changed, 410 insertions(+), 393 deletions(-) -- 2.25.3 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/