summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/raw/sharpsl.c
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2020-05-19 15:00:22 +0200
committerMiquel Raynal <miquel.raynal@bootlin.com>2020-05-31 10:53:36 +0200
commit35a37f9198e5ee594750f4331b29de34acf8c84c (patch)
tree88bca25848275fe91af27e92ca1263dd2deb94fd /drivers/mtd/nand/raw/sharpsl.c
parentmtd: rawnand: sharpsl: Fix the probe error path (diff)
downloadlinux-35a37f9198e5ee594750f4331b29de34acf8c84c.tar.xz
linux-35a37f9198e5ee594750f4331b29de34acf8c84c.zip
mtd: rawnand: sharpsl: Stop using nand_release()
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-50-miquel.raynal@bootlin.com
Diffstat (limited to 'drivers/mtd/nand/raw/sharpsl.c')
-rw-r--r--drivers/mtd/nand/raw/sharpsl.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/mtd/nand/raw/sharpsl.c b/drivers/mtd/nand/raw/sharpsl.c
index d8c52a016080..51286f7acf54 100644
--- a/drivers/mtd/nand/raw/sharpsl.c
+++ b/drivers/mtd/nand/raw/sharpsl.c
@@ -199,13 +199,19 @@ err_get_res:
static int sharpsl_nand_remove(struct platform_device *pdev)
{
struct sharpsl_nand *sharpsl = platform_get_drvdata(pdev);
+ struct nand_chip *chip = &sharpsl->chip;
+ int ret;
- /* Release resources, unregister device */
- nand_release(&sharpsl->chip);
+ /* Unregister device */
+ ret = mtd_device_unregister(nand_to_mtd(chip));
+ WARN_ON(ret);
+
+ /* Release resources */
+ nand_cleanup(chip);
iounmap(sharpsl->io);
- /* Free the MTD device structure */
+ /* Free the driver's structure */
kfree(sharpsl);
return 0;