mtd: rawnand: fsl_upm: Inherit from nand_controller
authorBoris Brezillon <boris.brezillon@collabora.com>
Wed, 3 Jun 2020 13:49:19 +0000 (15:49 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 26 Jun 2020 06:35:09 +0000 (08:35 +0200)
Explicitly inherit from nand_controller instead of relying on the
nand_chip.legacy.dummy_controller field.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200603134922.1352340-8-boris.brezillon@collabora.com
drivers/mtd/nand/raw/fsl_upm.c

index 977b7aad419b5f1b0aebf21748cbe2c1757dbf1d..9a63e36825d8fb344441237c36b374f71bd88499 100644 (file)
@@ -24,6 +24,7 @@
 #define FSL_UPM_WAIT_WRITE_BUFFER 0x4
 
 struct fsl_upm_nand {
+       struct nand_controller base;
        struct device *dev;
        struct nand_chip chip;
        int last_ctrl;
@@ -167,6 +168,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun,
        if (!fun->rnb_gpio[0])
                fun->chip.legacy.dev_ready = fun_chip_ready;
 
+       fun->chip.controller = &fun->base;
        mtd->dev.parent = fun->dev;
 
        flash_np = of_get_next_child(upm_np, NULL);
@@ -268,6 +270,7 @@ static int fun_probe(struct platform_device *ofdev)
                fun->wait_flags = FSL_UPM_WAIT_RUN_PATTERN |
                                  FSL_UPM_WAIT_WRITE_BYTE;
 
+       nand_controller_init(&fun->base);
        fun->dev = &ofdev->dev;
        fun->last_ctrl = NAND_CLE;