mtd: rawnand: r852: Stop using nand_release()
authorMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 19 May 2020 13:00:18 +0000 (15:00 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 31 May 2020 08:53:35 +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>
Cc: Maxim Levitsky <maximlevitsky@gmail.com>
Link: https://lore.kernel.org/linux-mtd/20200519130035.1883-46-miquel.raynal@bootlin.com
drivers/mtd/nand/raw/r852.c

index 7777425..f865e3a 100644 (file)
@@ -651,7 +651,8 @@ static int r852_register_nand_device(struct r852_device *dev)
        dev->card_registered = 1;
        return 0;
 error3:
-       nand_release(dev->chip);
+       WARN_ON(mtd_device_unregister(nand_to_mtd(dev->chip)));
+       nand_cleanup(dev->chip);
 error1:
        /* Force card redetect */
        dev->card_detected = 0;
@@ -670,7 +671,8 @@ static void r852_unregister_nand_device(struct r852_device *dev)
                return;
 
        device_remove_file(&mtd->dev, &dev_attr_media_type);
-       nand_release(dev->chip);
+       WARN_ON(mtd_device_unregister(mtd));
+       nand_cleanup(dev->chip);
        r852_engine_disable(dev);
        dev->card_registered = 0;
 }