Hello, After having sent two versions of a series removing the nand_scan_ident/nand_scan_tail limitation that prevents us to allocate memory at critical moments, we are still discussing the internal API. To avoid sending again more than 20 patches, this is an RFC of the internal changes prior to the above modifications in each driver: 1/ Rename struct nand_hw_control -> struct nand_controller which is much more meaningful. 2/ Rename the function initializing the above structure nand_hw_control_init() -> nand_controller_init(). 3/ Create a nand_controller_ops structure which will be embedded in the nand_controller structure. These operations are: int (*attach_chip)(struct nand_chip *) and void (*detach_chip)(struct nand_chip *). If we agree on this, I could merge them first and then send the bunch of patches making use of these API changes. Thanks, Miqu?l Miquel Raynal (3): mtd: rawnand: better name for the controller structure mtd: rawnand: update the controller structure initialization function name mtd: rawnand: add hooks that may be called during nand_scan() drivers/mtd/nand/raw/atmel/nand-controller.c | 10 +++++----- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 4 ++-- drivers/mtd/nand/raw/docg4.c | 2 +- drivers/mtd/nand/raw/fsl_elbc_nand.c | 4 ++-- drivers/mtd/nand/raw/fsl_ifc_nand.c | 4 ++-- drivers/mtd/nand/raw/jz4780_nand.c | 7 ++++--- drivers/mtd/nand/raw/marvell_nand.c | 6 +++--- drivers/mtd/nand/raw/mtk_nand.c | 2 +- drivers/mtd/nand/raw/nand_base.c | 23 ++++++++++++++++++++--- drivers/mtd/nand/raw/ndfc.c | 4 ++-- drivers/mtd/nand/raw/omap2.c | 2 +- drivers/mtd/nand/raw/oxnas_nand.c | 4 ++-- drivers/mtd/nand/raw/qcom_nandc.c | 4 ++-- drivers/mtd/nand/raw/s3c2410.c | 4 ++-- drivers/mtd/nand/raw/sunxi_nand.c | 6 +++--- drivers/mtd/nand/raw/tango_nand.c | 4 ++-- drivers/mtd/nand/raw/tegra_nand.c | 6 +++--- drivers/mtd/nand/raw/txx9ndfmc.c | 4 ++-- include/linux/mtd/rawnand.h | 27 ++++++++++++++++++++++----- 19 files changed, 81 insertions(+), 46 deletions(-) -- 2.14.1