]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
mtd: rawnand: davinci: Inherit from nand_controller
authorBoris Brezillon <boris.brezillon@collabora.com>
Wed, 13 May 2020 17:22:45 +0000 (19:22 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 24 May 2020 18:39:41 +0000 (20:39 +0200)
Let's not rely on the dummy_controller embedded in nand_chip.legacy
and explicitly inherit from nand_controller instead.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Tested-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200513172248.141402-1-boris.brezillon@collabora.com
drivers/mtd/nand/raw/davinci_nand.c

index 25c185bea50ccd3e62248d40ec49f5aa09483100..0312c632d86a978caa6af353c8c1884801be25e5 100644 (file)
@@ -38,6 +38,7 @@
  * outputs in a "wire-AND" configuration, with no per-chip signals.
  */
 struct davinci_nand_info {
+       struct nand_controller  controller;
        struct nand_chip        chip;
 
        struct platform_device  *pdev;
@@ -788,7 +789,9 @@ static int nand_davinci_probe(struct platform_device *pdev)
        spin_unlock_irq(&davinci_nand_lock);
 
        /* Scan to find existence of the device(s) */
-       info->chip.legacy.dummy_controller.ops = &davinci_nand_controller_ops;
+       nand_controller_init(&info->controller);
+       info->controller.ops = &davinci_nand_controller_ops;
+       info->chip.controller = &info->controller;
        ret = nand_scan(&info->chip, pdata->mask_chipsel ? 2 : 1);
        if (ret < 0) {
                dev_dbg(&pdev->dev, "no NAND chip(s) found\n");