Hello Ramuthevar, On Tue, 14 Apr 2020 10:24:33 +0800 "Ramuthevar,Vadivel MuruganX" <vadivel.muruganx.ramuthevar@xxxxxxxxxxxxxxx> wrote: > + lgm_host->chip.legacy.read_byte = lgm_read_byte; > + lgm_host->chip.legacy.read_buf = lgm_read_buf; > + lgm_host->chip.legacy.write_buf = lgm_write_buf; > + lgm_host->chip.legacy.select_chip = lgm_select_chip; > + lgm_host->chip.legacy.dev_ready = lgm_dev_ready; > + lgm_host->chip.legacy.cmd_ctrl = lgm_cmd_ctrl; > + lgm_host->chip.legacy.chip_delay = 30; > + lgm_host->chip.legacy.dummy_controller.ops = &lgm_nand_controller_ops; > + Seriously, what's not clear in [1]? Okay, let's say you overlooked this comment, isn't the name of the field explicit enough? We received a few other drivers implementing the legacy interface in the last few months so maybe there's something to improve on our end (update the doc, move legacy drivers to a legacy sub-dir?). Back to more constructive comment now: please implement ->exec_op() to replace those legacy hooks. Regards, Boris [1]https://elixir.bootlin.com/linux/v5.7-rc1/source/include/linux/mtd/rawnand.h#L987