mtd: rawnand: fsl_upm: Stop using nand_release()
authorMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 19 May 2020 12:59:49 +0000 (14:59 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 31 May 2020 08:53:33 +0000 (10:53 +0200)
This helper is not very useful and very often people get confused:
they use nand_release() instead of nand_cleanup().

Let's stop using nand_release() by calling mtd_device_unregister() and
nand_cleanup() directly.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200519130035.1883-17-miquel.raynal@bootlin.com
drivers/mtd/nand/raw/fsl_upm.c

index f31fae3a4c6894a5c72498d6b672548c0bff06d2..627deb26db512ac0fb79b71bd5260940a696588d 100644 (file)
@@ -317,10 +317,13 @@ err1:
 static int fun_remove(struct platform_device *ofdev)
 {
        struct fsl_upm_nand *fun = dev_get_drvdata(&ofdev->dev);
-       struct mtd_info *mtd = nand_to_mtd(&fun->chip);
-       int i;
+       struct nand_chip *chip = &fun->chip;
+       struct mtd_info *mtd = nand_to_mtd(chip);
+       int ret, i;
 
-       nand_release(&fun->chip);
+       ret = mtd_device_unregister(mtd);
+       WARN_ON(ret);
+       nand_cleanup(chip);
        kfree(mtd->name);
 
        for (i = 0; i < fun->mchip_count; i++) {