mtd: nand: Convert to platform remove callback returning void

The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Acked-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> # atmel
Reviewed-by: Paul Cercueil <paul@crapouillou.net> # ingenic
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> # ingenic
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> # intel
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> # meson
Acked-by: Roger Quadros <rogerq@kernel.org> # omap_elm
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> # renesas
Reviewed-by: Heiko Stuebner <heiko@sntech.de> # rockchip
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> # sunxi
Acked-by: Thierry Reding <treding@nvidia.com> # tegra
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230411113816.3472237-1-u.kleine-koenig@pengutronix.de
This commit is contained in:
Uwe Kleine-König 2023-04-11 13:38:16 +02:00 коммит произвёл Miquel Raynal
Родитель 94b8f77fdb
Коммит ec185b18c2
49 изменённых файлов: 99 добавлений и 191 удалений

Просмотреть файл

@ -847,13 +847,11 @@ static int mxic_ecc_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int mxic_ecc_remove(struct platform_device *pdev) static void mxic_ecc_remove(struct platform_device *pdev)
{ {
struct mxic_ecc_engine *mxic = platform_get_drvdata(pdev); struct mxic_ecc_engine *mxic = platform_get_drvdata(pdev);
nand_ecc_unregister_on_host_hw_engine(&mxic->external_engine); nand_ecc_unregister_on_host_hw_engine(&mxic->external_engine);
return 0;
} }
static const struct of_device_id mxic_ecc_of_ids[] = { static const struct of_device_id mxic_ecc_of_ids[] = {
@ -870,7 +868,7 @@ static struct platform_driver mxic_ecc_driver = {
.of_match_table = mxic_ecc_of_ids, .of_match_table = mxic_ecc_of_ids,
}, },
.probe = mxic_ecc_probe, .probe = mxic_ecc_probe,
.remove = mxic_ecc_remove, .remove_new = mxic_ecc_remove,
}; };
module_platform_driver(mxic_ecc_driver); module_platform_driver(mxic_ecc_driver);

Просмотреть файл

@ -85,7 +85,7 @@ out_free_info:
return err; return err;
} }
static int generic_onenand_remove(struct platform_device *pdev) static void generic_onenand_remove(struct platform_device *pdev)
{ {
struct onenand_info *info = platform_get_drvdata(pdev); struct onenand_info *info = platform_get_drvdata(pdev);
struct resource *res = pdev->resource; struct resource *res = pdev->resource;
@ -97,8 +97,6 @@ static int generic_onenand_remove(struct platform_device *pdev)
iounmap(info->onenand.base); iounmap(info->onenand.base);
kfree(info); kfree(info);
} }
return 0;
} }
static struct platform_driver generic_onenand_driver = { static struct platform_driver generic_onenand_driver = {
@ -106,7 +104,7 @@ static struct platform_driver generic_onenand_driver = {
.name = DRIVER_NAME, .name = DRIVER_NAME,
}, },
.probe = generic_onenand_probe, .probe = generic_onenand_probe,
.remove = generic_onenand_remove, .remove_new = generic_onenand_remove,
}; };
module_platform_driver(generic_onenand_driver); module_platform_driver(generic_onenand_driver);

Просмотреть файл

@ -581,7 +581,7 @@ err_release_dma:
return r; return r;
} }
static int omap2_onenand_remove(struct platform_device *pdev) static void omap2_onenand_remove(struct platform_device *pdev)
{ {
struct omap2_onenand *c = dev_get_drvdata(&pdev->dev); struct omap2_onenand *c = dev_get_drvdata(&pdev->dev);
@ -589,8 +589,6 @@ static int omap2_onenand_remove(struct platform_device *pdev)
if (c->dma_chan) if (c->dma_chan)
dma_release_channel(c->dma_chan); dma_release_channel(c->dma_chan);
omap2_onenand_shutdown(pdev); omap2_onenand_shutdown(pdev);
return 0;
} }
static const struct of_device_id omap2_onenand_id_table[] = { static const struct of_device_id omap2_onenand_id_table[] = {
@ -601,7 +599,7 @@ MODULE_DEVICE_TABLE(of, omap2_onenand_id_table);
static struct platform_driver omap2_onenand_driver = { static struct platform_driver omap2_onenand_driver = {
.probe = omap2_onenand_probe, .probe = omap2_onenand_probe,
.remove = omap2_onenand_remove, .remove_new = omap2_onenand_remove,
.shutdown = omap2_onenand_shutdown, .shutdown = omap2_onenand_shutdown,
.driver = { .driver = {
.name = DRIVER_NAME, .name = DRIVER_NAME,

Просмотреть файл

@ -943,13 +943,11 @@ static int s3c_onenand_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int s3c_onenand_remove(struct platform_device *pdev) static void s3c_onenand_remove(struct platform_device *pdev)
{ {
struct mtd_info *mtd = platform_get_drvdata(pdev); struct mtd_info *mtd = platform_get_drvdata(pdev);
onenand_release(mtd); onenand_release(mtd);
return 0;
} }
static int s3c_pm_ops_suspend(struct device *dev) static int s3c_pm_ops_suspend(struct device *dev)
@ -996,7 +994,7 @@ static struct platform_driver s3c_onenand_driver = {
}, },
.id_table = s3c_onenand_driver_ids, .id_table = s3c_onenand_driver_ids,
.probe = s3c_onenand_probe, .probe = s3c_onenand_probe,
.remove = s3c_onenand_remove, .remove_new = s3c_onenand_remove,
}; };
module_platform_driver(s3c_onenand_driver); module_platform_driver(s3c_onenand_driver);

Просмотреть файл

@ -397,7 +397,7 @@ err_nand_cleanup:
/* /*
* Clean up routine * Clean up routine
*/ */
static int gpio_nand_remove(struct platform_device *pdev) static void gpio_nand_remove(struct platform_device *pdev)
{ {
struct gpio_nand *priv = platform_get_drvdata(pdev); struct gpio_nand *priv = platform_get_drvdata(pdev);
struct mtd_info *mtd = nand_to_mtd(&priv->nand_chip); struct mtd_info *mtd = nand_to_mtd(&priv->nand_chip);
@ -410,8 +410,6 @@ static int gpio_nand_remove(struct platform_device *pdev)
ret = mtd_device_unregister(mtd); ret = mtd_device_unregister(mtd);
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(mtd_to_nand(mtd)); nand_cleanup(mtd_to_nand(mtd));
return 0;
} }
#ifdef CONFIG_OF #ifdef CONFIG_OF
@ -434,7 +432,7 @@ MODULE_DEVICE_TABLE(platform, gpio_nand_plat_id_table);
static struct platform_driver gpio_nand_driver = { static struct platform_driver gpio_nand_driver = {
.probe = gpio_nand_probe, .probe = gpio_nand_probe,
.remove = gpio_nand_remove, .remove_new = gpio_nand_remove,
.id_table = gpio_nand_plat_id_table, .id_table = gpio_nand_plat_id_table,
.driver = { .driver = {
.name = "ams-delta-nand", .name = "ams-delta-nand",

Просмотреть файл

@ -1496,7 +1496,7 @@ disable_controller_clk:
return ret; return ret;
} }
static int anfc_remove(struct platform_device *pdev) static void anfc_remove(struct platform_device *pdev)
{ {
struct arasan_nfc *nfc = platform_get_drvdata(pdev); struct arasan_nfc *nfc = platform_get_drvdata(pdev);
@ -1504,8 +1504,6 @@ static int anfc_remove(struct platform_device *pdev)
clk_disable_unprepare(nfc->bus_clk); clk_disable_unprepare(nfc->bus_clk);
clk_disable_unprepare(nfc->controller_clk); clk_disable_unprepare(nfc->controller_clk);
return 0;
} }
static const struct of_device_id anfc_ids[] = { static const struct of_device_id anfc_ids[] = {
@ -1525,7 +1523,7 @@ static struct platform_driver anfc_driver = {
.of_match_table = anfc_ids, .of_match_table = anfc_ids,
}, },
.probe = anfc_probe, .probe = anfc_probe,
.remove = anfc_remove, .remove_new = anfc_remove,
}; };
module_platform_driver(anfc_driver); module_platform_driver(anfc_driver);

Просмотреть файл

@ -2626,13 +2626,11 @@ static int atmel_nand_controller_probe(struct platform_device *pdev)
return caps->ops->probe(pdev, caps); return caps->ops->probe(pdev, caps);
} }
static int atmel_nand_controller_remove(struct platform_device *pdev) static void atmel_nand_controller_remove(struct platform_device *pdev)
{ {
struct atmel_nand_controller *nc = platform_get_drvdata(pdev); struct atmel_nand_controller *nc = platform_get_drvdata(pdev);
WARN_ON(nc->caps->ops->remove(nc)); WARN_ON(nc->caps->ops->remove(nc));
return 0;
} }
static __maybe_unused int atmel_nand_controller_resume(struct device *dev) static __maybe_unused int atmel_nand_controller_resume(struct device *dev)
@ -2663,7 +2661,7 @@ static struct platform_driver atmel_nand_controller_driver = {
.pm = &atmel_nand_controller_pm_ops, .pm = &atmel_nand_controller_pm_ops,
}, },
.probe = atmel_nand_controller_probe, .probe = atmel_nand_controller_probe,
.remove = atmel_nand_controller_remove, .remove_new = atmel_nand_controller_remove,
}; };
module_platform_driver(atmel_nand_controller_driver); module_platform_driver(atmel_nand_controller_driver);

Просмотреть файл

@ -337,7 +337,7 @@ out1:
return ret; return ret;
} }
static int au1550nd_remove(struct platform_device *pdev) static void au1550nd_remove(struct platform_device *pdev)
{ {
struct au1550nd_ctx *ctx = platform_get_drvdata(pdev); struct au1550nd_ctx *ctx = platform_get_drvdata(pdev);
struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0); struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@ -350,7 +350,6 @@ static int au1550nd_remove(struct platform_device *pdev)
iounmap(ctx->base); iounmap(ctx->base);
release_mem_region(r->start, 0x1000); release_mem_region(r->start, 0x1000);
kfree(ctx); kfree(ctx);
return 0;
} }
static struct platform_driver au1550nd_driver = { static struct platform_driver au1550nd_driver = {
@ -358,7 +357,7 @@ static struct platform_driver au1550nd_driver = {
.name = "au1550-nand", .name = "au1550-nand",
}, },
.probe = au1550nd_probe, .probe = au1550nd_probe,
.remove = au1550nd_remove, .remove_new = au1550nd_remove,
}; };
module_platform_driver(au1550nd_driver); module_platform_driver(au1550nd_driver);

Просмотреть файл

@ -57,7 +57,7 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int bcm47xxnflash_remove(struct platform_device *pdev) static void bcm47xxnflash_remove(struct platform_device *pdev)
{ {
struct bcm47xxnflash *nflash = platform_get_drvdata(pdev); struct bcm47xxnflash *nflash = platform_get_drvdata(pdev);
struct nand_chip *chip = &nflash->nand_chip; struct nand_chip *chip = &nflash->nand_chip;
@ -66,13 +66,11 @@ static int bcm47xxnflash_remove(struct platform_device *pdev)
ret = mtd_device_unregister(nand_to_mtd(chip)); ret = mtd_device_unregister(nand_to_mtd(chip));
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
return 0;
} }
static struct platform_driver bcm47xxnflash_driver = { static struct platform_driver bcm47xxnflash_driver = {
.probe = bcm47xxnflash_probe, .probe = bcm47xxnflash_probe,
.remove = bcm47xxnflash_remove, .remove_new = bcm47xxnflash_remove,
.driver = { .driver = {
.name = "bcma_nflash", .name = "bcma_nflash",
}, },

Просмотреть файл

@ -3055,18 +3055,16 @@ static int cadence_nand_dt_probe(struct platform_device *ofdev)
return 0; return 0;
} }
static int cadence_nand_dt_remove(struct platform_device *ofdev) static void cadence_nand_dt_remove(struct platform_device *ofdev)
{ {
struct cadence_nand_dt *dt = platform_get_drvdata(ofdev); struct cadence_nand_dt *dt = platform_get_drvdata(ofdev);
cadence_nand_remove(&dt->cdns_ctrl); cadence_nand_remove(&dt->cdns_ctrl);
return 0;
} }
static struct platform_driver cadence_nand_dt_driver = { static struct platform_driver cadence_nand_dt_driver = {
.probe = cadence_nand_dt_probe, .probe = cadence_nand_dt_probe,
.remove = cadence_nand_dt_remove, .remove_new = cadence_nand_dt_remove,
.driver = { .driver = {
.name = "cadence-nand-controller", .name = "cadence-nand-controller",
.of_match_table = cadence_nand_dt_ids, .of_match_table = cadence_nand_dt_ids,

Просмотреть файл

@ -821,7 +821,7 @@ err_cleanup_nand:
return ret; return ret;
} }
static int nand_davinci_remove(struct platform_device *pdev) static void nand_davinci_remove(struct platform_device *pdev)
{ {
struct davinci_nand_info *info = platform_get_drvdata(pdev); struct davinci_nand_info *info = platform_get_drvdata(pdev);
struct nand_chip *chip = &info->chip; struct nand_chip *chip = &info->chip;
@ -835,13 +835,11 @@ static int nand_davinci_remove(struct platform_device *pdev)
ret = mtd_device_unregister(nand_to_mtd(chip)); ret = mtd_device_unregister(nand_to_mtd(chip));
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
return 0;
} }
static struct platform_driver nand_davinci_driver = { static struct platform_driver nand_davinci_driver = {
.probe = nand_davinci_probe, .probe = nand_davinci_probe,
.remove = nand_davinci_remove, .remove_new = nand_davinci_remove,
.driver = { .driver = {
.name = "davinci_nand", .name = "davinci_nand",
.of_match_table = of_match_ptr(davinci_nand_of_match), .of_match_table = of_match_ptr(davinci_nand_of_match),

Просмотреть файл

@ -233,7 +233,7 @@ out_disable_clk:
return ret; return ret;
} }
static int denali_dt_remove(struct platform_device *pdev) static void denali_dt_remove(struct platform_device *pdev)
{ {
struct denali_dt *dt = platform_get_drvdata(pdev); struct denali_dt *dt = platform_get_drvdata(pdev);
@ -243,13 +243,11 @@ static int denali_dt_remove(struct platform_device *pdev)
clk_disable_unprepare(dt->clk_ecc); clk_disable_unprepare(dt->clk_ecc);
clk_disable_unprepare(dt->clk_x); clk_disable_unprepare(dt->clk_x);
clk_disable_unprepare(dt->clk); clk_disable_unprepare(dt->clk);
return 0;
} }
static struct platform_driver denali_dt_driver = { static struct platform_driver denali_dt_driver = {
.probe = denali_dt_probe, .probe = denali_dt_probe,
.remove = denali_dt_remove, .remove_new = denali_dt_remove,
.driver = { .driver = {
.name = "denali-nand-dt", .name = "denali-nand-dt",
.of_match_table = denali_nand_dt_ids, .of_match_table = denali_nand_dt_ids,

Просмотреть файл

@ -963,7 +963,7 @@ err:
return ret; return ret;
} }
static int fsl_elbc_nand_remove(struct platform_device *pdev) static void fsl_elbc_nand_remove(struct platform_device *pdev)
{ {
struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand; struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand;
struct fsl_elbc_mtd *priv = dev_get_drvdata(&pdev->dev); struct fsl_elbc_mtd *priv = dev_get_drvdata(&pdev->dev);
@ -984,8 +984,6 @@ static int fsl_elbc_nand_remove(struct platform_device *pdev)
} }
mutex_unlock(&fsl_elbc_nand_mutex); mutex_unlock(&fsl_elbc_nand_mutex);
return 0;
} }
static const struct of_device_id fsl_elbc_nand_match[] = { static const struct of_device_id fsl_elbc_nand_match[] = {
@ -1000,7 +998,7 @@ static struct platform_driver fsl_elbc_nand_driver = {
.of_match_table = fsl_elbc_nand_match, .of_match_table = fsl_elbc_nand_match,
}, },
.probe = fsl_elbc_nand_probe, .probe = fsl_elbc_nand_probe,
.remove = fsl_elbc_nand_remove, .remove_new = fsl_elbc_nand_remove,
}; };
module_platform_driver(fsl_elbc_nand_driver); module_platform_driver(fsl_elbc_nand_driver);

Просмотреть файл

@ -1094,7 +1094,7 @@ err:
return ret; return ret;
} }
static int fsl_ifc_nand_remove(struct platform_device *dev) static void fsl_ifc_nand_remove(struct platform_device *dev)
{ {
struct fsl_ifc_mtd *priv = dev_get_drvdata(&dev->dev); struct fsl_ifc_mtd *priv = dev_get_drvdata(&dev->dev);
struct nand_chip *chip = &priv->chip; struct nand_chip *chip = &priv->chip;
@ -1113,8 +1113,6 @@ static int fsl_ifc_nand_remove(struct platform_device *dev)
kfree(ifc_nand_ctrl); kfree(ifc_nand_ctrl);
} }
mutex_unlock(&fsl_ifc_nand_mutex); mutex_unlock(&fsl_ifc_nand_mutex);
return 0;
} }
static const struct of_device_id fsl_ifc_nand_match[] = { static const struct of_device_id fsl_ifc_nand_match[] = {
@ -1131,7 +1129,7 @@ static struct platform_driver fsl_ifc_nand_driver = {
.of_match_table = fsl_ifc_nand_match, .of_match_table = fsl_ifc_nand_match,
}, },
.probe = fsl_ifc_nand_probe, .probe = fsl_ifc_nand_probe,
.remove = fsl_ifc_nand_remove, .remove_new = fsl_ifc_nand_remove,
}; };
module_platform_driver(fsl_ifc_nand_driver); module_platform_driver(fsl_ifc_nand_driver);

Просмотреть файл

@ -235,7 +235,7 @@ static int fun_probe(struct platform_device *ofdev)
return 0; return 0;
} }
static int fun_remove(struct platform_device *ofdev) static void fun_remove(struct platform_device *ofdev)
{ {
struct fsl_upm_nand *fun = dev_get_drvdata(&ofdev->dev); struct fsl_upm_nand *fun = dev_get_drvdata(&ofdev->dev);
struct nand_chip *chip = &fun->chip; struct nand_chip *chip = &fun->chip;
@ -245,8 +245,6 @@ static int fun_remove(struct platform_device *ofdev)
ret = mtd_device_unregister(mtd); ret = mtd_device_unregister(mtd);
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
return 0;
} }
static const struct of_device_id of_fun_match[] = { static const struct of_device_id of_fun_match[] = {
@ -261,7 +259,7 @@ static struct platform_driver of_fun_driver = {
.of_match_table = of_fun_match, .of_match_table = of_fun_match,
}, },
.probe = fun_probe, .probe = fun_probe,
.remove = fun_remove, .remove_new = fun_remove,
}; };
module_platform_driver(of_fun_driver); module_platform_driver(of_fun_driver);

Просмотреть файл

@ -1165,7 +1165,7 @@ disable_clk:
/* /*
* Clean up routine * Clean up routine
*/ */
static int fsmc_nand_remove(struct platform_device *pdev) static void fsmc_nand_remove(struct platform_device *pdev)
{ {
struct fsmc_nand_data *host = platform_get_drvdata(pdev); struct fsmc_nand_data *host = platform_get_drvdata(pdev);
@ -1184,8 +1184,6 @@ static int fsmc_nand_remove(struct platform_device *pdev)
} }
clk_disable_unprepare(host->clk); clk_disable_unprepare(host->clk);
} }
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
@ -1224,7 +1222,7 @@ static const struct of_device_id fsmc_nand_id_table[] = {
MODULE_DEVICE_TABLE(of, fsmc_nand_id_table); MODULE_DEVICE_TABLE(of, fsmc_nand_id_table);
static struct platform_driver fsmc_nand_driver = { static struct platform_driver fsmc_nand_driver = {
.remove = fsmc_nand_remove, .remove_new = fsmc_nand_remove,
.driver = { .driver = {
.name = "fsmc-nand", .name = "fsmc-nand",
.of_match_table = fsmc_nand_id_table, .of_match_table = fsmc_nand_id_table,

Просмотреть файл

@ -265,7 +265,7 @@ gpio_nand_get_io_sync(struct platform_device *pdev)
return platform_get_resource(pdev, IORESOURCE_MEM, 1); return platform_get_resource(pdev, IORESOURCE_MEM, 1);
} }
static int gpio_nand_remove(struct platform_device *pdev) static void gpio_nand_remove(struct platform_device *pdev)
{ {
struct gpiomtd *gpiomtd = platform_get_drvdata(pdev); struct gpiomtd *gpiomtd = platform_get_drvdata(pdev);
struct nand_chip *chip = &gpiomtd->nand_chip; struct nand_chip *chip = &gpiomtd->nand_chip;
@ -280,8 +280,6 @@ static int gpio_nand_remove(struct platform_device *pdev)
gpiod_set_value(gpiomtd->nwp, 0); gpiod_set_value(gpiomtd->nwp, 0);
if (gpiomtd->nce && !IS_ERR(gpiomtd->nce)) if (gpiomtd->nce && !IS_ERR(gpiomtd->nce))
gpiod_set_value(gpiomtd->nce, 0); gpiod_set_value(gpiomtd->nce, 0);
return 0;
} }
static int gpio_nand_probe(struct platform_device *pdev) static int gpio_nand_probe(struct platform_device *pdev)
@ -394,7 +392,7 @@ out_ce:
static struct platform_driver gpio_nand_driver = { static struct platform_driver gpio_nand_driver = {
.probe = gpio_nand_probe, .probe = gpio_nand_probe,
.remove = gpio_nand_remove, .remove_new = gpio_nand_remove,
.driver = { .driver = {
.name = "gpio-nand", .name = "gpio-nand",
.of_match_table = of_match_ptr(gpio_nand_id_table), .of_match_table = of_match_ptr(gpio_nand_id_table),

Просмотреть файл

@ -2777,7 +2777,7 @@ exit_acquire_resources:
return ret; return ret;
} }
static int gpmi_nand_remove(struct platform_device *pdev) static void gpmi_nand_remove(struct platform_device *pdev)
{ {
struct gpmi_nand_data *this = platform_get_drvdata(pdev); struct gpmi_nand_data *this = platform_get_drvdata(pdev);
struct nand_chip *chip = &this->nand; struct nand_chip *chip = &this->nand;
@ -2791,7 +2791,6 @@ static int gpmi_nand_remove(struct platform_device *pdev)
nand_cleanup(chip); nand_cleanup(chip);
gpmi_free_dma_buffer(this); gpmi_free_dma_buffer(this);
release_resources(this); release_resources(this);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
@ -2860,7 +2859,7 @@ static struct platform_driver gpmi_nand_driver = {
.of_match_table = gpmi_nand_id_table, .of_match_table = gpmi_nand_id_table,
}, },
.probe = gpmi_nand_probe, .probe = gpmi_nand_probe,
.remove = gpmi_nand_remove, .remove_new = gpmi_nand_remove,
}; };
module_platform_driver(gpmi_nand_driver); module_platform_driver(gpmi_nand_driver);

Просмотреть файл

@ -798,7 +798,7 @@ static int hisi_nfc_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int hisi_nfc_remove(struct platform_device *pdev) static void hisi_nfc_remove(struct platform_device *pdev)
{ {
struct hinfc_host *host = platform_get_drvdata(pdev); struct hinfc_host *host = platform_get_drvdata(pdev);
struct nand_chip *chip = &host->chip; struct nand_chip *chip = &host->chip;
@ -807,8 +807,6 @@ static int hisi_nfc_remove(struct platform_device *pdev)
ret = mtd_device_unregister(nand_to_mtd(chip)); ret = mtd_device_unregister(nand_to_mtd(chip));
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
@ -860,7 +858,7 @@ static struct platform_driver hisi_nfc_driver = {
.pm = &hisi_nfc_pm_ops, .pm = &hisi_nfc_pm_ops,
}, },
.probe = hisi_nfc_probe, .probe = hisi_nfc_probe,
.remove = hisi_nfc_remove, .remove_new = hisi_nfc_remove,
}; };
module_platform_driver(hisi_nfc_driver); module_platform_driver(hisi_nfc_driver);

Просмотреть файл

@ -522,7 +522,7 @@ static int ingenic_nand_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int ingenic_nand_remove(struct platform_device *pdev) static void ingenic_nand_remove(struct platform_device *pdev)
{ {
struct ingenic_nfc *nfc = platform_get_drvdata(pdev); struct ingenic_nfc *nfc = platform_get_drvdata(pdev);
@ -530,8 +530,6 @@ static int ingenic_nand_remove(struct platform_device *pdev)
ingenic_ecc_release(nfc->ecc); ingenic_ecc_release(nfc->ecc);
ingenic_nand_cleanup_chips(nfc); ingenic_nand_cleanup_chips(nfc);
return 0;
} }
static const struct jz_soc_info jz4740_soc_info = { static const struct jz_soc_info jz4740_soc_info = {
@ -564,7 +562,7 @@ MODULE_DEVICE_TABLE(of, ingenic_nand_dt_match);
static struct platform_driver ingenic_nand_driver = { static struct platform_driver ingenic_nand_driver = {
.probe = ingenic_nand_probe, .probe = ingenic_nand_probe,
.remove = ingenic_nand_remove, .remove_new = ingenic_nand_remove,
.driver = { .driver = {
.name = DRV_NAME, .name = DRV_NAME,
.of_match_table = ingenic_nand_dt_match, .of_match_table = ingenic_nand_dt_match,

Просмотреть файл

@ -706,7 +706,7 @@ err_of_node_put:
return ret; return ret;
} }
static int ebu_nand_remove(struct platform_device *pdev) static void ebu_nand_remove(struct platform_device *pdev)
{ {
struct ebu_nand_controller *ebu_host = platform_get_drvdata(pdev); struct ebu_nand_controller *ebu_host = platform_get_drvdata(pdev);
int ret; int ret;
@ -717,8 +717,6 @@ static int ebu_nand_remove(struct platform_device *pdev)
ebu_nand_disable(&ebu_host->chip); ebu_nand_disable(&ebu_host->chip);
ebu_dma_cleanup(ebu_host); ebu_dma_cleanup(ebu_host);
clk_disable_unprepare(ebu_host->clk); clk_disable_unprepare(ebu_host->clk);
return 0;
} }
static const struct of_device_id ebu_nand_match[] = { static const struct of_device_id ebu_nand_match[] = {
@ -729,7 +727,7 @@ MODULE_DEVICE_TABLE(of, ebu_nand_match);
static struct platform_driver ebu_nand_driver = { static struct platform_driver ebu_nand_driver = {
.probe = ebu_nand_probe, .probe = ebu_nand_probe,
.remove = ebu_nand_remove, .remove_new = ebu_nand_remove,
.driver = { .driver = {
.name = "intel-nand-controller", .name = "intel-nand-controller",
.of_match_table = ebu_nand_match, .of_match_table = ebu_nand_match,

Просмотреть файл

@ -827,7 +827,7 @@ free_gpio:
/* /*
* Remove NAND device * Remove NAND device
*/ */
static int lpc32xx_nand_remove(struct platform_device *pdev) static void lpc32xx_nand_remove(struct platform_device *pdev)
{ {
struct lpc32xx_nand_host *host = platform_get_drvdata(pdev); struct lpc32xx_nand_host *host = platform_get_drvdata(pdev);
struct nand_chip *chip = &host->nand_chip; struct nand_chip *chip = &host->nand_chip;
@ -846,8 +846,6 @@ static int lpc32xx_nand_remove(struct platform_device *pdev)
lpc32xx_wp_enable(host); lpc32xx_wp_enable(host);
gpiod_put(host->wp_gpio); gpiod_put(host->wp_gpio);
return 0;
} }
static int lpc32xx_nand_resume(struct platform_device *pdev) static int lpc32xx_nand_resume(struct platform_device *pdev)
@ -889,7 +887,7 @@ MODULE_DEVICE_TABLE(of, lpc32xx_nand_match);
static struct platform_driver lpc32xx_nand_driver = { static struct platform_driver lpc32xx_nand_driver = {
.probe = lpc32xx_nand_probe, .probe = lpc32xx_nand_probe,
.remove = lpc32xx_nand_remove, .remove_new = lpc32xx_nand_remove,
.resume = pm_ptr(lpc32xx_nand_resume), .resume = pm_ptr(lpc32xx_nand_resume),
.suspend = pm_ptr(lpc32xx_nand_suspend), .suspend = pm_ptr(lpc32xx_nand_suspend),
.driver = { .driver = {

Просмотреть файл

@ -946,7 +946,7 @@ enable_wp:
/* /*
* Remove NAND device. * Remove NAND device.
*/ */
static int lpc32xx_nand_remove(struct platform_device *pdev) static void lpc32xx_nand_remove(struct platform_device *pdev)
{ {
uint32_t tmp; uint32_t tmp;
struct lpc32xx_nand_host *host = platform_get_drvdata(pdev); struct lpc32xx_nand_host *host = platform_get_drvdata(pdev);
@ -965,8 +965,6 @@ static int lpc32xx_nand_remove(struct platform_device *pdev)
clk_disable_unprepare(host->clk); clk_disable_unprepare(host->clk);
lpc32xx_wp_enable(host); lpc32xx_wp_enable(host);
return 0;
} }
static int lpc32xx_nand_resume(struct platform_device *pdev) static int lpc32xx_nand_resume(struct platform_device *pdev)
@ -1015,7 +1013,7 @@ MODULE_DEVICE_TABLE(of, lpc32xx_nand_match);
static struct platform_driver lpc32xx_nand_driver = { static struct platform_driver lpc32xx_nand_driver = {
.probe = lpc32xx_nand_probe, .probe = lpc32xx_nand_probe,
.remove = lpc32xx_nand_remove, .remove_new = lpc32xx_nand_remove,
.resume = pm_ptr(lpc32xx_nand_resume), .resume = pm_ptr(lpc32xx_nand_resume),
.suspend = pm_ptr(lpc32xx_nand_suspend), .suspend = pm_ptr(lpc32xx_nand_suspend),
.driver = { .driver = {

Просмотреть файл

@ -3004,7 +3004,7 @@ unprepare_core_clk:
return ret; return ret;
} }
static int marvell_nfc_remove(struct platform_device *pdev) static void marvell_nfc_remove(struct platform_device *pdev)
{ {
struct marvell_nfc *nfc = platform_get_drvdata(pdev); struct marvell_nfc *nfc = platform_get_drvdata(pdev);
@ -3017,8 +3017,6 @@ static int marvell_nfc_remove(struct platform_device *pdev)
clk_disable_unprepare(nfc->reg_clk); clk_disable_unprepare(nfc->reg_clk);
clk_disable_unprepare(nfc->core_clk); clk_disable_unprepare(nfc->core_clk);
return 0;
} }
static int __maybe_unused marvell_nfc_suspend(struct device *dev) static int __maybe_unused marvell_nfc_suspend(struct device *dev)
@ -3154,7 +3152,7 @@ static struct platform_driver marvell_nfc_driver = {
}, },
.id_table = marvell_nfc_platform_ids, .id_table = marvell_nfc_platform_ids,
.probe = marvell_nfc_probe, .probe = marvell_nfc_probe,
.remove = marvell_nfc_remove, .remove_new = marvell_nfc_remove,
}; };
module_platform_driver(marvell_nfc_driver); module_platform_driver(marvell_nfc_driver);

Просмотреть файл

@ -1434,20 +1434,18 @@ err_clk:
return ret; return ret;
} }
static int meson_nfc_remove(struct platform_device *pdev) static void meson_nfc_remove(struct platform_device *pdev)
{ {
struct meson_nfc *nfc = platform_get_drvdata(pdev); struct meson_nfc *nfc = platform_get_drvdata(pdev);
meson_nfc_nand_chip_cleanup(nfc); meson_nfc_nand_chip_cleanup(nfc);
meson_nfc_disable_clk(nfc); meson_nfc_disable_clk(nfc);
return 0;
} }
static struct platform_driver meson_nfc_driver = { static struct platform_driver meson_nfc_driver = {
.probe = meson_nfc_probe, .probe = meson_nfc_probe,
.remove = meson_nfc_remove, .remove_new = meson_nfc_remove,
.driver = { .driver = {
.name = "meson-nand", .name = "meson-nand",
.of_match_table = meson_nfc_id_table, .of_match_table = meson_nfc_id_table,

Просмотреть файл

@ -822,7 +822,7 @@ error:
return retval; return retval;
} }
static int mpc5121_nfc_remove(struct platform_device *op) static void mpc5121_nfc_remove(struct platform_device *op)
{ {
struct device *dev = &op->dev; struct device *dev = &op->dev;
struct mtd_info *mtd = dev_get_drvdata(dev); struct mtd_info *mtd = dev_get_drvdata(dev);
@ -832,8 +832,6 @@ static int mpc5121_nfc_remove(struct platform_device *op)
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(mtd_to_nand(mtd)); nand_cleanup(mtd_to_nand(mtd));
mpc5121_nfc_free(dev, mtd); mpc5121_nfc_free(dev, mtd);
return 0;
} }
static const struct of_device_id mpc5121_nfc_match[] = { static const struct of_device_id mpc5121_nfc_match[] = {
@ -844,7 +842,7 @@ MODULE_DEVICE_TABLE(of, mpc5121_nfc_match);
static struct platform_driver mpc5121_nfc_driver = { static struct platform_driver mpc5121_nfc_driver = {
.probe = mpc5121_nfc_probe, .probe = mpc5121_nfc_probe,
.remove = mpc5121_nfc_remove, .remove_new = mpc5121_nfc_remove,
.driver = { .driver = {
.name = DRV_NAME, .name = DRV_NAME,
.of_match_table = mpc5121_nfc_match, .of_match_table = mpc5121_nfc_match,

Просмотреть файл

@ -1601,7 +1601,7 @@ release_ecc:
return ret; return ret;
} }
static int mtk_nfc_remove(struct platform_device *pdev) static void mtk_nfc_remove(struct platform_device *pdev)
{ {
struct mtk_nfc *nfc = platform_get_drvdata(pdev); struct mtk_nfc *nfc = platform_get_drvdata(pdev);
struct mtk_nfc_nand_chip *mtk_chip; struct mtk_nfc_nand_chip *mtk_chip;
@ -1620,8 +1620,6 @@ static int mtk_nfc_remove(struct platform_device *pdev)
mtk_ecc_release(nfc->ecc); mtk_ecc_release(nfc->ecc);
mtk_nfc_disable_clk(&nfc->clk); mtk_nfc_disable_clk(&nfc->clk);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
@ -1663,7 +1661,7 @@ static SIMPLE_DEV_PM_OPS(mtk_nfc_pm_ops, mtk_nfc_suspend, mtk_nfc_resume);
static struct platform_driver mtk_nfc_driver = { static struct platform_driver mtk_nfc_driver = {
.probe = mtk_nfc_probe, .probe = mtk_nfc_probe,
.remove = mtk_nfc_remove, .remove_new = mtk_nfc_remove,
.driver = { .driver = {
.name = MTK_NAME, .name = MTK_NAME,
.of_match_table = mtk_nfc_id_table, .of_match_table = mtk_nfc_id_table,

Просмотреть файл

@ -1821,7 +1821,7 @@ escan:
return err; return err;
} }
static int mxcnd_remove(struct platform_device *pdev) static void mxcnd_remove(struct platform_device *pdev)
{ {
struct mxc_nand_host *host = platform_get_drvdata(pdev); struct mxc_nand_host *host = platform_get_drvdata(pdev);
struct nand_chip *chip = &host->nand; struct nand_chip *chip = &host->nand;
@ -1832,8 +1832,6 @@ static int mxcnd_remove(struct platform_device *pdev)
nand_cleanup(chip); nand_cleanup(chip);
if (host->clk_act) if (host->clk_act)
clk_disable_unprepare(host->clk); clk_disable_unprepare(host->clk);
return 0;
} }
static struct platform_driver mxcnd_driver = { static struct platform_driver mxcnd_driver = {
@ -1842,7 +1840,7 @@ static struct platform_driver mxcnd_driver = {
.of_match_table = mxcnd_dt_ids, .of_match_table = mxcnd_dt_ids,
}, },
.probe = mxcnd_probe, .probe = mxcnd_probe,
.remove = mxcnd_remove, .remove_new = mxcnd_remove,
}; };
module_platform_driver(mxcnd_driver); module_platform_driver(mxcnd_driver);

Просмотреть файл

@ -553,7 +553,7 @@ fail:
return err; return err;
} }
static int mxic_nfc_remove(struct platform_device *pdev) static void mxic_nfc_remove(struct platform_device *pdev)
{ {
struct mxic_nand_ctlr *nfc = platform_get_drvdata(pdev); struct mxic_nand_ctlr *nfc = platform_get_drvdata(pdev);
struct nand_chip *chip = &nfc->chip; struct nand_chip *chip = &nfc->chip;
@ -564,7 +564,6 @@ static int mxic_nfc_remove(struct platform_device *pdev)
nand_cleanup(chip); nand_cleanup(chip);
mxic_nfc_clk_disable(nfc); mxic_nfc_clk_disable(nfc);
return 0;
} }
static const struct of_device_id mxic_nfc_of_ids[] = { static const struct of_device_id mxic_nfc_of_ids[] = {
@ -575,7 +574,7 @@ MODULE_DEVICE_TABLE(of, mxic_nfc_of_ids);
static struct platform_driver mxic_nfc_driver = { static struct platform_driver mxic_nfc_driver = {
.probe = mxic_nfc_probe, .probe = mxic_nfc_probe,
.remove = mxic_nfc_remove, .remove_new = mxic_nfc_remove,
.driver = { .driver = {
.name = "mxic-nfc", .name = "mxic-nfc",
.of_match_table = mxic_nfc_of_ids, .of_match_table = mxic_nfc_of_ids,

Просмотреть файл

@ -240,7 +240,7 @@ static int ndfc_probe(struct platform_device *ofdev)
return 0; return 0;
} }
static int ndfc_remove(struct platform_device *ofdev) static void ndfc_remove(struct platform_device *ofdev)
{ {
struct ndfc_controller *ndfc = dev_get_drvdata(&ofdev->dev); struct ndfc_controller *ndfc = dev_get_drvdata(&ofdev->dev);
struct nand_chip *chip = &ndfc->chip; struct nand_chip *chip = &ndfc->chip;
@ -251,8 +251,6 @@ static int ndfc_remove(struct platform_device *ofdev)
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
kfree(mtd->name); kfree(mtd->name);
return 0;
} }
static const struct of_device_id ndfc_match[] = { static const struct of_device_id ndfc_match[] = {
@ -267,7 +265,7 @@ static struct platform_driver ndfc_driver = {
.of_match_table = ndfc_match, .of_match_table = ndfc_match,
}, },
.probe = ndfc_probe, .probe = ndfc_probe,
.remove = ndfc_remove, .remove_new = ndfc_remove,
}; };
module_platform_driver(ndfc_driver); module_platform_driver(ndfc_driver);

Просмотреть файл

@ -2273,7 +2273,7 @@ return_error:
return err; return err;
} }
static int omap_nand_remove(struct platform_device *pdev) static void omap_nand_remove(struct platform_device *pdev)
{ {
struct mtd_info *mtd = platform_get_drvdata(pdev); struct mtd_info *mtd = platform_get_drvdata(pdev);
struct nand_chip *nand_chip = mtd_to_nand(mtd); struct nand_chip *nand_chip = mtd_to_nand(mtd);
@ -2285,7 +2285,6 @@ static int omap_nand_remove(struct platform_device *pdev)
dma_release_channel(info->dma); dma_release_channel(info->dma);
WARN_ON(mtd_device_unregister(mtd)); WARN_ON(mtd_device_unregister(mtd));
nand_cleanup(nand_chip); nand_cleanup(nand_chip);
return 0;
} }
/* omap_nand_ids defined in linux/platform_data/mtd-nand-omap2.h */ /* omap_nand_ids defined in linux/platform_data/mtd-nand-omap2.h */
@ -2293,7 +2292,7 @@ MODULE_DEVICE_TABLE(of, omap_nand_ids);
static struct platform_driver omap_nand_driver = { static struct platform_driver omap_nand_driver = {
.probe = omap_nand_probe, .probe = omap_nand_probe,
.remove = omap_nand_remove, .remove_new = omap_nand_remove,
.driver = { .driver = {
.name = DRIVER_NAME, .name = DRIVER_NAME,
.of_match_table = omap_nand_ids, .of_match_table = omap_nand_ids,

Просмотреть файл

@ -422,11 +422,10 @@ static int elm_probe(struct platform_device *pdev)
return ret; return ret;
} }
static int elm_remove(struct platform_device *pdev) static void elm_remove(struct platform_device *pdev)
{ {
pm_runtime_put_sync(&pdev->dev); pm_runtime_put_sync(&pdev->dev);
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
@ -561,7 +560,7 @@ static struct platform_driver elm_driver = {
.pm = &elm_pm_ops, .pm = &elm_pm_ops,
}, },
.probe = elm_probe, .probe = elm_probe,
.remove = elm_remove, .remove_new = elm_remove,
}; };
module_platform_driver(elm_driver); module_platform_driver(elm_driver);

Просмотреть файл

@ -205,7 +205,7 @@ no_dev:
return ret; return ret;
} }
static int orion_nand_remove(struct platform_device *pdev) static void orion_nand_remove(struct platform_device *pdev)
{ {
struct orion_nand_info *info = platform_get_drvdata(pdev); struct orion_nand_info *info = platform_get_drvdata(pdev);
struct nand_chip *chip = &info->chip; struct nand_chip *chip = &info->chip;
@ -217,8 +217,6 @@ static int orion_nand_remove(struct platform_device *pdev)
nand_cleanup(chip); nand_cleanup(chip);
clk_disable_unprepare(info->clk); clk_disable_unprepare(info->clk);
return 0;
} }
#ifdef CONFIG_OF #ifdef CONFIG_OF
@ -230,7 +228,7 @@ MODULE_DEVICE_TABLE(of, orion_nand_of_match_table);
#endif #endif
static struct platform_driver orion_nand_driver = { static struct platform_driver orion_nand_driver = {
.remove = orion_nand_remove, .remove_new = orion_nand_remove,
.driver = { .driver = {
.name = "orion_nand", .name = "orion_nand",
.of_match_table = of_match_ptr(orion_nand_of_match_table), .of_match_table = of_match_ptr(orion_nand_of_match_table),

Просмотреть файл

@ -171,7 +171,7 @@ err_clk_unprepare:
return err; return err;
} }
static int oxnas_nand_remove(struct platform_device *pdev) static void oxnas_nand_remove(struct platform_device *pdev)
{ {
struct oxnas_nand_ctrl *oxnas = platform_get_drvdata(pdev); struct oxnas_nand_ctrl *oxnas = platform_get_drvdata(pdev);
struct nand_chip *chip; struct nand_chip *chip;
@ -184,8 +184,6 @@ static int oxnas_nand_remove(struct platform_device *pdev)
} }
clk_disable_unprepare(oxnas->clk); clk_disable_unprepare(oxnas->clk);
return 0;
} }
static const struct of_device_id oxnas_nand_match[] = { static const struct of_device_id oxnas_nand_match[] = {
@ -196,7 +194,7 @@ MODULE_DEVICE_TABLE(of, oxnas_nand_match);
static struct platform_driver oxnas_nand_driver = { static struct platform_driver oxnas_nand_driver = {
.probe = oxnas_nand_probe, .probe = oxnas_nand_probe,
.remove = oxnas_nand_remove, .remove_new = oxnas_nand_remove,
.driver = { .driver = {
.name = "oxnas_nand", .name = "oxnas_nand",
.of_match_table = oxnas_nand_match, .of_match_table = oxnas_nand_match,

Просмотреть файл

@ -197,7 +197,7 @@ static int pasemi_nand_probe(struct platform_device *ofdev)
return err; return err;
} }
static int pasemi_nand_remove(struct platform_device *ofdev) static void pasemi_nand_remove(struct platform_device *ofdev)
{ {
struct pasemi_ddata *ddata = platform_get_drvdata(ofdev); struct pasemi_ddata *ddata = platform_get_drvdata(ofdev);
struct mtd_info *pasemi_nand_mtd; struct mtd_info *pasemi_nand_mtd;
@ -218,8 +218,6 @@ static int pasemi_nand_remove(struct platform_device *ofdev)
/* Free the MTD device structure */ /* Free the MTD device structure */
kfree(ddata); kfree(ddata);
return 0;
} }
static const struct of_device_id pasemi_nand_match[] = static const struct of_device_id pasemi_nand_match[] =
@ -239,7 +237,7 @@ static struct platform_driver pasemi_nand_driver =
.of_match_table = pasemi_nand_match, .of_match_table = pasemi_nand_match,
}, },
.probe = pasemi_nand_probe, .probe = pasemi_nand_probe,
.remove = pasemi_nand_remove, .remove_new = pasemi_nand_remove,
}; };
module_platform_driver(pasemi_nand_driver); module_platform_driver(pasemi_nand_driver);

Просмотреть файл

@ -1163,13 +1163,11 @@ static int pl35x_nand_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int pl35x_nand_remove(struct platform_device *pdev) static void pl35x_nand_remove(struct platform_device *pdev)
{ {
struct pl35x_nandc *nfc = platform_get_drvdata(pdev); struct pl35x_nandc *nfc = platform_get_drvdata(pdev);
pl35x_nand_chips_cleanup(nfc); pl35x_nand_chips_cleanup(nfc);
return 0;
} }
static const struct of_device_id pl35x_nand_of_match[] = { static const struct of_device_id pl35x_nand_of_match[] = {
@ -1180,7 +1178,7 @@ MODULE_DEVICE_TABLE(of, pl35x_nand_of_match);
static struct platform_driver pl35x_nandc_driver = { static struct platform_driver pl35x_nandc_driver = {
.probe = pl35x_nand_probe, .probe = pl35x_nand_probe,
.remove = pl35x_nand_remove, .remove_new = pl35x_nand_remove,
.driver = { .driver = {
.name = PL35X_NANDC_DRIVER_NAME, .name = PL35X_NANDC_DRIVER_NAME,
.of_match_table = pl35x_nand_of_match, .of_match_table = pl35x_nand_of_match,

Просмотреть файл

@ -122,7 +122,7 @@ out:
/* /*
* Remove a NAND device. * Remove a NAND device.
*/ */
static int plat_nand_remove(struct platform_device *pdev) static void plat_nand_remove(struct platform_device *pdev)
{ {
struct plat_nand_data *data = platform_get_drvdata(pdev); struct plat_nand_data *data = platform_get_drvdata(pdev);
struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev); struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev);
@ -134,8 +134,6 @@ static int plat_nand_remove(struct platform_device *pdev)
nand_cleanup(chip); nand_cleanup(chip);
if (pdata->ctrl.remove) if (pdata->ctrl.remove)
pdata->ctrl.remove(pdev); pdata->ctrl.remove(pdev);
return 0;
} }
static const struct of_device_id plat_nand_match[] = { static const struct of_device_id plat_nand_match[] = {
@ -146,7 +144,7 @@ MODULE_DEVICE_TABLE(of, plat_nand_match);
static struct platform_driver plat_nand_driver = { static struct platform_driver plat_nand_driver = {
.probe = plat_nand_probe, .probe = plat_nand_probe,
.remove = plat_nand_remove, .remove_new = plat_nand_remove,
.driver = { .driver = {
.name = "gen_nand", .name = "gen_nand",
.of_match_table = plat_nand_match, .of_match_table = plat_nand_match,

Просмотреть файл

@ -3314,7 +3314,7 @@ err_core_clk:
return ret; return ret;
} }
static int qcom_nandc_remove(struct platform_device *pdev) static void qcom_nandc_remove(struct platform_device *pdev)
{ {
struct qcom_nand_controller *nandc = platform_get_drvdata(pdev); struct qcom_nand_controller *nandc = platform_get_drvdata(pdev);
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@ -3336,8 +3336,6 @@ static int qcom_nandc_remove(struct platform_device *pdev)
dma_unmap_resource(&pdev->dev, nandc->base_dma, resource_size(res), dma_unmap_resource(&pdev->dev, nandc->base_dma, resource_size(res),
DMA_BIDIRECTIONAL, 0); DMA_BIDIRECTIONAL, 0);
return 0;
} }
static const struct qcom_nandc_props ipq806x_nandc_props = { static const struct qcom_nandc_props ipq806x_nandc_props = {
@ -3404,7 +3402,7 @@ static struct platform_driver qcom_nandc_driver = {
.of_match_table = qcom_nandc_of_match, .of_match_table = qcom_nandc_of_match,
}, },
.probe = qcom_nandc_probe, .probe = qcom_nandc_probe,
.remove = qcom_nandc_remove, .remove_new = qcom_nandc_remove,
}; };
module_platform_driver(qcom_nandc_driver); module_platform_driver(qcom_nandc_driver);

Просмотреть файл

@ -1386,15 +1386,13 @@ dis_runtime_pm:
return ret; return ret;
} }
static int rnandc_remove(struct platform_device *pdev) static void rnandc_remove(struct platform_device *pdev)
{ {
struct rnandc *rnandc = platform_get_drvdata(pdev); struct rnandc *rnandc = platform_get_drvdata(pdev);
rnandc_chips_cleanup(rnandc); rnandc_chips_cleanup(rnandc);
pm_runtime_put(&pdev->dev); pm_runtime_put(&pdev->dev);
return 0;
} }
static const struct of_device_id rnandc_id_table[] = { static const struct of_device_id rnandc_id_table[] = {
@ -1410,7 +1408,7 @@ static struct platform_driver rnandc_driver = {
.of_match_table = rnandc_id_table, .of_match_table = rnandc_id_table,
}, },
.probe = rnandc_probe, .probe = rnandc_probe,
.remove = rnandc_remove, .remove_new = rnandc_remove,
}; };
module_platform_driver(rnandc_driver); module_platform_driver(rnandc_driver);

Просмотреть файл

@ -1427,7 +1427,7 @@ release_nfc:
return ret; return ret;
} }
static int rk_nfc_remove(struct platform_device *pdev) static void rk_nfc_remove(struct platform_device *pdev)
{ {
struct rk_nfc *nfc = platform_get_drvdata(pdev); struct rk_nfc *nfc = platform_get_drvdata(pdev);
@ -1435,8 +1435,6 @@ static int rk_nfc_remove(struct platform_device *pdev)
kfree(nfc->oob_buf); kfree(nfc->oob_buf);
rk_nfc_chips_cleanup(nfc); rk_nfc_chips_cleanup(nfc);
rk_nfc_disable_clks(nfc); rk_nfc_disable_clks(nfc);
return 0;
} }
static int __maybe_unused rk_nfc_suspend(struct device *dev) static int __maybe_unused rk_nfc_suspend(struct device *dev)
@ -1476,7 +1474,7 @@ static const struct dev_pm_ops rk_nfc_pm_ops = {
static struct platform_driver rk_nfc_driver = { static struct platform_driver rk_nfc_driver = {
.probe = rk_nfc_probe, .probe = rk_nfc_probe,
.remove = rk_nfc_remove, .remove_new = rk_nfc_remove,
.driver = { .driver = {
.name = "rockchip-nfc", .name = "rockchip-nfc",
.of_match_table = rk_nfc_id_table, .of_match_table = rk_nfc_id_table,

Просмотреть файл

@ -709,12 +709,12 @@ static void s3c2440_nand_write_buf(struct nand_chip *this, const u_char *buf,
/* device management functions */ /* device management functions */
static int s3c24xx_nand_remove(struct platform_device *pdev) static void s3c24xx_nand_remove(struct platform_device *pdev)
{ {
struct s3c2410_nand_info *info = to_nand_info(pdev); struct s3c2410_nand_info *info = to_nand_info(pdev);
if (info == NULL) if (info == NULL)
return 0; return;
/* Release all our mtds and their partitions, then go through /* Release all our mtds and their partitions, then go through
* freeing the resources used * freeing the resources used
@ -735,8 +735,6 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
if (!IS_ERR(info->clk)) if (!IS_ERR(info->clk))
s3c2410_nand_clk_set_state(info, CLOCK_DISABLE); s3c2410_nand_clk_set_state(info, CLOCK_DISABLE);
return 0;
} }
static int s3c2410_nand_add_partition(struct s3c2410_nand_info *info, static int s3c2410_nand_add_partition(struct s3c2410_nand_info *info,
@ -1218,7 +1216,7 @@ MODULE_DEVICE_TABLE(platform, s3c24xx_driver_ids);
static struct platform_driver s3c24xx_nand_driver = { static struct platform_driver s3c24xx_nand_driver = {
.probe = s3c24xx_nand_probe, .probe = s3c24xx_nand_probe,
.remove = s3c24xx_nand_remove, .remove_new = s3c24xx_nand_remove,
.suspend = s3c24xx_nand_suspend, .suspend = s3c24xx_nand_suspend,
.resume = s3c24xx_nand_resume, .resume = s3c24xx_nand_resume,
.id_table = s3c24xx_driver_ids, .id_table = s3c24xx_driver_ids,

Просмотреть файл

@ -1203,7 +1203,7 @@ err_chip:
return ret; return ret;
} }
static int flctl_remove(struct platform_device *pdev) static void flctl_remove(struct platform_device *pdev)
{ {
struct sh_flctl *flctl = platform_get_drvdata(pdev); struct sh_flctl *flctl = platform_get_drvdata(pdev);
struct nand_chip *chip = &flctl->chip; struct nand_chip *chip = &flctl->chip;
@ -1214,12 +1214,10 @@ static int flctl_remove(struct platform_device *pdev)
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
pm_runtime_disable(&pdev->dev); pm_runtime_disable(&pdev->dev);
return 0;
} }
static struct platform_driver flctl_driver = { static struct platform_driver flctl_driver = {
.remove = flctl_remove, .remove_new = flctl_remove,
.driver = { .driver = {
.name = "sh_flctl", .name = "sh_flctl",
.of_match_table = of_flctl_match, .of_match_table = of_flctl_match,

Просмотреть файл

@ -210,7 +210,7 @@ err_get_res:
/* /*
* Clean up routine * Clean up routine
*/ */
static int sharpsl_nand_remove(struct platform_device *pdev) static void sharpsl_nand_remove(struct platform_device *pdev)
{ {
struct sharpsl_nand *sharpsl = platform_get_drvdata(pdev); struct sharpsl_nand *sharpsl = platform_get_drvdata(pdev);
struct nand_chip *chip = &sharpsl->chip; struct nand_chip *chip = &sharpsl->chip;
@ -227,8 +227,6 @@ static int sharpsl_nand_remove(struct platform_device *pdev)
/* Free the driver's structure */ /* Free the driver's structure */
kfree(sharpsl); kfree(sharpsl);
return 0;
} }
static struct platform_driver sharpsl_nand_driver = { static struct platform_driver sharpsl_nand_driver = {
@ -236,7 +234,7 @@ static struct platform_driver sharpsl_nand_driver = {
.name = "sharpsl-nand", .name = "sharpsl-nand",
}, },
.probe = sharpsl_nand_probe, .probe = sharpsl_nand_probe,
.remove = sharpsl_nand_remove, .remove_new = sharpsl_nand_remove,
}; };
module_platform_driver(sharpsl_nand_driver); module_platform_driver(sharpsl_nand_driver);

Просмотреть файл

@ -201,7 +201,7 @@ out:
/* /*
* Remove a NAND device. * Remove a NAND device.
*/ */
static int socrates_nand_remove(struct platform_device *ofdev) static void socrates_nand_remove(struct platform_device *ofdev)
{ {
struct socrates_nand_host *host = dev_get_drvdata(&ofdev->dev); struct socrates_nand_host *host = dev_get_drvdata(&ofdev->dev);
struct nand_chip *chip = &host->nand_chip; struct nand_chip *chip = &host->nand_chip;
@ -212,8 +212,6 @@ static int socrates_nand_remove(struct platform_device *ofdev)
nand_cleanup(chip); nand_cleanup(chip);
iounmap(host->io_base); iounmap(host->io_base);
return 0;
} }
static const struct of_device_id socrates_nand_match[] = static const struct of_device_id socrates_nand_match[] =
@ -232,7 +230,7 @@ static struct platform_driver socrates_nand_driver = {
.of_match_table = socrates_nand_match, .of_match_table = socrates_nand_match,
}, },
.probe = socrates_nand_probe, .probe = socrates_nand_probe,
.remove = socrates_nand_remove, .remove_new = socrates_nand_remove,
}; };
module_platform_driver(socrates_nand_driver); module_platform_driver(socrates_nand_driver);

Просмотреть файл

@ -2021,7 +2021,7 @@ err_clk_disable:
return ret; return ret;
} }
static int stm32_fmc2_nfc_remove(struct platform_device *pdev) static void stm32_fmc2_nfc_remove(struct platform_device *pdev)
{ {
struct stm32_fmc2_nfc *nfc = platform_get_drvdata(pdev); struct stm32_fmc2_nfc *nfc = platform_get_drvdata(pdev);
struct stm32_fmc2_nand *nand = &nfc->nand; struct stm32_fmc2_nand *nand = &nfc->nand;
@ -2045,8 +2045,6 @@ static int stm32_fmc2_nfc_remove(struct platform_device *pdev)
clk_disable_unprepare(nfc->clk); clk_disable_unprepare(nfc->clk);
stm32_fmc2_nfc_wp_enable(nand); stm32_fmc2_nfc_wp_enable(nand);
return 0;
} }
static int __maybe_unused stm32_fmc2_nfc_suspend(struct device *dev) static int __maybe_unused stm32_fmc2_nfc_suspend(struct device *dev)
@ -2103,7 +2101,7 @@ MODULE_DEVICE_TABLE(of, stm32_fmc2_nfc_match);
static struct platform_driver stm32_fmc2_nfc_driver = { static struct platform_driver stm32_fmc2_nfc_driver = {
.probe = stm32_fmc2_nfc_probe, .probe = stm32_fmc2_nfc_probe,
.remove = stm32_fmc2_nfc_remove, .remove_new = stm32_fmc2_nfc_remove,
.driver = { .driver = {
.name = "stm32_fmc2_nfc", .name = "stm32_fmc2_nfc",
.of_match_table = stm32_fmc2_nfc_match, .of_match_table = stm32_fmc2_nfc_match,

Просмотреть файл

@ -2173,7 +2173,7 @@ out_ahb_clk_unprepare:
return ret; return ret;
} }
static int sunxi_nfc_remove(struct platform_device *pdev) static void sunxi_nfc_remove(struct platform_device *pdev)
{ {
struct sunxi_nfc *nfc = platform_get_drvdata(pdev); struct sunxi_nfc *nfc = platform_get_drvdata(pdev);
@ -2185,8 +2185,6 @@ static int sunxi_nfc_remove(struct platform_device *pdev)
dma_release_channel(nfc->dmac); dma_release_channel(nfc->dmac);
clk_disable_unprepare(nfc->mod_clk); clk_disable_unprepare(nfc->mod_clk);
clk_disable_unprepare(nfc->ahb_clk); clk_disable_unprepare(nfc->ahb_clk);
return 0;
} }
static const struct sunxi_nfc_caps sunxi_nfc_a10_caps = { static const struct sunxi_nfc_caps sunxi_nfc_a10_caps = {
@ -2219,7 +2217,7 @@ static struct platform_driver sunxi_nfc_driver = {
.of_match_table = sunxi_nfc_ids, .of_match_table = sunxi_nfc_ids,
}, },
.probe = sunxi_nfc_probe, .probe = sunxi_nfc_probe,
.remove = sunxi_nfc_remove, .remove_new = sunxi_nfc_remove,
}; };
module_platform_driver(sunxi_nfc_driver); module_platform_driver(sunxi_nfc_driver);

Просмотреть файл

@ -1220,7 +1220,7 @@ err_dis_pm:
return err; return err;
} }
static int tegra_nand_remove(struct platform_device *pdev) static void tegra_nand_remove(struct platform_device *pdev)
{ {
struct tegra_nand_controller *ctrl = platform_get_drvdata(pdev); struct tegra_nand_controller *ctrl = platform_get_drvdata(pdev);
struct nand_chip *chip = ctrl->chip; struct nand_chip *chip = ctrl->chip;
@ -1232,8 +1232,6 @@ static int tegra_nand_remove(struct platform_device *pdev)
pm_runtime_put_sync_suspend(ctrl->dev); pm_runtime_put_sync_suspend(ctrl->dev);
pm_runtime_force_suspend(ctrl->dev); pm_runtime_force_suspend(ctrl->dev);
return 0;
} }
static int __maybe_unused tegra_nand_runtime_resume(struct device *dev) static int __maybe_unused tegra_nand_runtime_resume(struct device *dev)
@ -1277,7 +1275,7 @@ static struct platform_driver tegra_nand_driver = {
.pm = &tegra_nand_pm, .pm = &tegra_nand_pm,
}, },
.probe = tegra_nand_probe, .probe = tegra_nand_probe,
.remove = tegra_nand_remove, .remove_new = tegra_nand_remove,
}; };
module_platform_driver(tegra_nand_driver); module_platform_driver(tegra_nand_driver);

Просмотреть файл

@ -909,7 +909,7 @@ err_disable_clk:
return err; return err;
} }
static int vf610_nfc_remove(struct platform_device *pdev) static void vf610_nfc_remove(struct platform_device *pdev)
{ {
struct vf610_nfc *nfc = platform_get_drvdata(pdev); struct vf610_nfc *nfc = platform_get_drvdata(pdev);
struct nand_chip *chip = &nfc->chip; struct nand_chip *chip = &nfc->chip;
@ -919,7 +919,6 @@ static int vf610_nfc_remove(struct platform_device *pdev)
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
clk_disable_unprepare(nfc->clk); clk_disable_unprepare(nfc->clk);
return 0;
} }
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
@ -955,7 +954,7 @@ static struct platform_driver vf610_nfc_driver = {
.pm = &vf610_nfc_pm_ops, .pm = &vf610_nfc_pm_ops,
}, },
.probe = vf610_nfc_probe, .probe = vf610_nfc_probe,
.remove = vf610_nfc_remove, .remove_new = vf610_nfc_remove,
}; };
module_platform_driver(vf610_nfc_driver); module_platform_driver(vf610_nfc_driver);

Просмотреть файл

@ -238,7 +238,7 @@ static int xway_nand_probe(struct platform_device *pdev)
/* /*
* Remove a NAND device. * Remove a NAND device.
*/ */
static int xway_nand_remove(struct platform_device *pdev) static void xway_nand_remove(struct platform_device *pdev)
{ {
struct xway_nand_data *data = platform_get_drvdata(pdev); struct xway_nand_data *data = platform_get_drvdata(pdev);
struct nand_chip *chip = &data->chip; struct nand_chip *chip = &data->chip;
@ -247,8 +247,6 @@ static int xway_nand_remove(struct platform_device *pdev)
ret = mtd_device_unregister(nand_to_mtd(chip)); ret = mtd_device_unregister(nand_to_mtd(chip));
WARN_ON(ret); WARN_ON(ret);
nand_cleanup(chip); nand_cleanup(chip);
return 0;
} }
static const struct of_device_id xway_nand_match[] = { static const struct of_device_id xway_nand_match[] = {
@ -258,7 +256,7 @@ static const struct of_device_id xway_nand_match[] = {
static struct platform_driver xway_nand_driver = { static struct platform_driver xway_nand_driver = {
.probe = xway_nand_probe, .probe = xway_nand_probe,
.remove = xway_nand_remove, .remove_new = xway_nand_remove,
.driver = { .driver = {
.name = "lantiq,nand-xway", .name = "lantiq,nand-xway",
.of_match_table = xway_nand_match, .of_match_table = xway_nand_match,