On Fri, 20 Jul 2018 17:15:22 +0200 Miquel Raynal <miquel.raynal at bootlin.com> wrote: > > -static int qcom_nand_host_init(struct qcom_nand_controller *nandc, > - struct qcom_nand_host *host, > - struct device_node *dn) > +static int qcom_nand_host_init_and_register(struct qcom_nand_controller *nandc, > + struct qcom_nand_host *host, > + struct device_node *dn) > { > struct nand_chip *chip = &host->chip; > struct mtd_info *mtd = nand_to_mtd(chip); > @@ -2824,36 +2828,20 @@ static int qcom_nand_host_init(struct qcom_nand_controller *nandc, > chip->block_markbad = qcom_nandc_block_markbad; > > chip->controller = &nandc->controller; > + chip->controller->ops = &qcom_nandc_ops; This assignment should be moved here [1]. Once fixed you can add Reviewed-by: Boris Brezillon <boris.brezillon at bootlin.com> [1]https://elixir.bootlin.com/linux/v4.18-rc5/source/drivers/mtd/nand/raw/qcom_nandc.c#L2574