i2c: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 8 May 2023 20:51:38 +0000 (22:51 +0200)
committerWolfram Sang <wsa@kernel.org>
Mon, 5 Jun 2023 07:47:37 +0000 (09:47 +0200)
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.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Alain Volmat <alain.volmat@foss.st.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Acked-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Peter Rosin <peda@axentia.se>
Acked-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Asmaa Mnebhi <asnaa@nvidia.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Chris Pringle <chris.pringle@phabrix.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Tali Perry <tali.perry@nuvoton.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
88 files changed:
drivers/i2c/busses/i2c-altera.c
drivers/i2c/busses/i2c-amd-mp2-plat.c
drivers/i2c/busses/i2c-aspeed.c
drivers/i2c/busses/i2c-at91-core.c
drivers/i2c/busses/i2c-au1550.c
drivers/i2c/busses/i2c-axxia.c
drivers/i2c/busses/i2c-bcm-iproc.c
drivers/i2c/busses/i2c-bcm-kona.c
drivers/i2c/busses/i2c-bcm2835.c
drivers/i2c/busses/i2c-brcmstb.c
drivers/i2c/busses/i2c-cadence.c
drivers/i2c/busses/i2c-cbus-gpio.c
drivers/i2c/busses/i2c-cht-wc.c
drivers/i2c/busses/i2c-cpm.c
drivers/i2c/busses/i2c-cros-ec-tunnel.c
drivers/i2c/busses/i2c-davinci.c
drivers/i2c/busses/i2c-designware-platdrv.c
drivers/i2c/busses/i2c-digicolor.c
drivers/i2c/busses/i2c-dln2.c
drivers/i2c/busses/i2c-emev2.c
drivers/i2c/busses/i2c-exynos5.c
drivers/i2c/busses/i2c-gpio.c
drivers/i2c/busses/i2c-gxp.c
drivers/i2c/busses/i2c-highlander.c
drivers/i2c/busses/i2c-hix5hd2.c
drivers/i2c/busses/i2c-ibm_iic.c
drivers/i2c/busses/i2c-img-scb.c
drivers/i2c/busses/i2c-imx-lpi2c.c
drivers/i2c/busses/i2c-imx.c
drivers/i2c/busses/i2c-iop3xx.c
drivers/i2c/busses/i2c-isch.c
drivers/i2c/busses/i2c-jz4780.c
drivers/i2c/busses/i2c-kempld.c
drivers/i2c/busses/i2c-lpc2k.c
drivers/i2c/busses/i2c-meson.c
drivers/i2c/busses/i2c-microchip-corei2c.c
drivers/i2c/busses/i2c-mlxbf.c
drivers/i2c/busses/i2c-mlxcpld.c
drivers/i2c/busses/i2c-mpc.c
drivers/i2c/busses/i2c-mt65xx.c
drivers/i2c/busses/i2c-mt7621.c
drivers/i2c/busses/i2c-mv64xxx.c
drivers/i2c/busses/i2c-mxs.c
drivers/i2c/busses/i2c-npcm7xx.c
drivers/i2c/busses/i2c-ocores.c
drivers/i2c/busses/i2c-octeon-platdrv.c
drivers/i2c/busses/i2c-omap.c
drivers/i2c/busses/i2c-opal.c
drivers/i2c/busses/i2c-pasemi-platform.c
drivers/i2c/busses/i2c-pca-platform.c
drivers/i2c/busses/i2c-pnx.c
drivers/i2c/busses/i2c-powermac.c
drivers/i2c/busses/i2c-pxa.c
drivers/i2c/busses/i2c-qcom-cci.c
drivers/i2c/busses/i2c-qcom-geni.c
drivers/i2c/busses/i2c-qup.c
drivers/i2c/busses/i2c-rcar.c
drivers/i2c/busses/i2c-riic.c
drivers/i2c/busses/i2c-rk3x.c
drivers/i2c/busses/i2c-rzv2m.c
drivers/i2c/busses/i2c-s3c2410.c
drivers/i2c/busses/i2c-scmi.c
drivers/i2c/busses/i2c-sh7760.c
drivers/i2c/busses/i2c-sh_mobile.c
drivers/i2c/busses/i2c-simtec.c
drivers/i2c/busses/i2c-st.c
drivers/i2c/busses/i2c-stm32f4.c
drivers/i2c/busses/i2c-stm32f7.c
drivers/i2c/busses/i2c-sun6i-p2wi.c
drivers/i2c/busses/i2c-synquacer.c
drivers/i2c/busses/i2c-tegra-bpmp.c
drivers/i2c/busses/i2c-tegra.c
drivers/i2c/busses/i2c-uniphier-f.c
drivers/i2c/busses/i2c-uniphier.c
drivers/i2c/busses/i2c-versatile.c
drivers/i2c/busses/i2c-viperboard.c
drivers/i2c/busses/i2c-wmt.c
drivers/i2c/busses/i2c-xgene-slimpro.c
drivers/i2c/busses/i2c-xiic.c
drivers/i2c/busses/i2c-xlp9xx.c
drivers/i2c/busses/scx200_acb.c
drivers/i2c/muxes/i2c-arb-gpio-challenge.c
drivers/i2c/muxes/i2c-demux-pinctrl.c
drivers/i2c/muxes/i2c-mux-gpio.c
drivers/i2c/muxes/i2c-mux-gpmux.c
drivers/i2c/muxes/i2c-mux-mlxcpld.c
drivers/i2c/muxes/i2c-mux-pinctrl.c
drivers/i2c/muxes/i2c-mux-reg.c

index 50e7f3f670b6f0d2400ba21d8dc3bc675d67ad65..252fbd175fb1ccc82878d1fa7b274285554e369b 100644 (file)
@@ -465,14 +465,12 @@ static int altr_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int altr_i2c_remove(struct platform_device *pdev)
+static void altr_i2c_remove(struct platform_device *pdev)
 {
        struct altr_i2c_dev *idev = platform_get_drvdata(pdev);
 
        clk_disable_unprepare(idev->i2c_clk);
        i2c_del_adapter(&idev->adapter);
-
-       return 0;
 }
 
 /* Match table for of_platform binding */
@@ -484,7 +482,7 @@ MODULE_DEVICE_TABLE(of, altr_i2c_of_match);
 
 static struct platform_driver altr_i2c_driver = {
        .probe = altr_i2c_probe,
-       .remove = altr_i2c_remove,
+       .remove_new = altr_i2c_remove,
        .driver = {
                .name = "altera-i2c",
                .of_match_table = altr_i2c_of_match,
index 423fe0c8a471e0b29ae455811a12b379b5f16e2c..112fe2bc5662b29052fbed9727bafaa597cdaf11 100644 (file)
@@ -322,7 +322,7 @@ static int i2c_amd_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int i2c_amd_remove(struct platform_device *pdev)
+static void i2c_amd_remove(struct platform_device *pdev)
 {
        struct amd_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
        struct amd_i2c_common *i2c_common = &i2c_dev->common;
@@ -336,7 +336,6 @@ static int i2c_amd_remove(struct platform_device *pdev)
        i2c_unlock_bus(&i2c_dev->adap, I2C_LOCK_ROOT_ADAPTER);
 
        i2c_del_adapter(&i2c_dev->adap);
-       return 0;
 }
 
 static const struct acpi_device_id i2c_amd_acpi_match[] = {
@@ -347,7 +346,7 @@ MODULE_DEVICE_TABLE(acpi, i2c_amd_acpi_match);
 
 static struct platform_driver i2c_amd_plat_driver = {
        .probe = i2c_amd_probe,
-       .remove = i2c_amd_remove,
+       .remove_new = i2c_amd_remove,
        .driver = {
                .name = "i2c_amd_mp2",
                .acpi_match_table = ACPI_PTR(i2c_amd_acpi_match),
index d3c99c5b324788da554fcd07a803cd3a4fef9b03..2e5acfeb76c818a3058ffbd75d59930b35e17df8 100644 (file)
@@ -1061,7 +1061,7 @@ static int aspeed_i2c_probe_bus(struct platform_device *pdev)
        return 0;
 }
 
-static int aspeed_i2c_remove_bus(struct platform_device *pdev)
+static void aspeed_i2c_remove_bus(struct platform_device *pdev)
 {
        struct aspeed_i2c_bus *bus = platform_get_drvdata(pdev);
        unsigned long flags;
@@ -1077,13 +1077,11 @@ static int aspeed_i2c_remove_bus(struct platform_device *pdev)
        reset_control_assert(bus->rst);
 
        i2c_del_adapter(&bus->adap);
-
-       return 0;
 }
 
 static struct platform_driver aspeed_i2c_bus_driver = {
        .probe          = aspeed_i2c_probe_bus,
-       .remove         = aspeed_i2c_remove_bus,
+       .remove_new     = aspeed_i2c_remove_bus,
        .driver         = {
                .name           = "aspeed-i2c-bus",
                .of_match_table = aspeed_i2c_bus_of_table,
index 2df9df585131494f9f014ab96e3776246e2c9ccc..05ad3bc3578ac67dcb02adc483c4fdad4c53f993 100644 (file)
@@ -273,7 +273,7 @@ static int at91_twi_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int at91_twi_remove(struct platform_device *pdev)
+static void at91_twi_remove(struct platform_device *pdev)
 {
        struct at91_twi_dev *dev = platform_get_drvdata(pdev);
 
@@ -282,8 +282,6 @@ static int at91_twi_remove(struct platform_device *pdev)
 
        pm_runtime_disable(dev->dev);
        pm_runtime_set_suspended(dev->dev);
-
-       return 0;
 }
 
 static int __maybe_unused at91_twi_runtime_suspend(struct device *dev)
@@ -342,7 +340,7 @@ static const struct dev_pm_ops __maybe_unused at91_twi_pm = {
 
 static struct platform_driver at91_twi_driver = {
        .probe          = at91_twi_probe,
-       .remove         = at91_twi_remove,
+       .remove_new     = at91_twi_remove,
        .id_table       = at91_twi_devtypes,
        .driver         = {
                .name   = "at91_i2c",
index 7b42d35b1294253dbb2e35725f627bc9f5116fc6..e66c12ecf27063627535367fc801188de3501f64 100644 (file)
@@ -334,13 +334,12 @@ i2c_au1550_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int i2c_au1550_remove(struct platform_device *pdev)
+static void i2c_au1550_remove(struct platform_device *pdev)
 {
        struct i2c_au1550_data *priv = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&priv->adap);
        i2c_au1550_disable(priv);
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -379,7 +378,7 @@ static struct platform_driver au1xpsc_smbus_driver = {
                .pm     = AU1XPSC_SMBUS_PMOPS,
        },
        .probe          = i2c_au1550_probe,
-       .remove         = i2c_au1550_remove,
+       .remove_new     = i2c_au1550_remove,
 };
 
 module_platform_driver(au1xpsc_smbus_driver);
index c1c74ce084071c9f5a94d8cd0f05cb086b0419db..d7f1e98777ace48b929c3eccd51f841b805d27d7 100644 (file)
@@ -804,14 +804,12 @@ error_disable_clk:
        return ret;
 }
 
-static int axxia_i2c_remove(struct platform_device *pdev)
+static void axxia_i2c_remove(struct platform_device *pdev)
 {
        struct axxia_i2c_dev *idev = platform_get_drvdata(pdev);
 
        clk_disable_unprepare(idev->i2c_clk);
        i2c_del_adapter(&idev->adapter);
-
-       return 0;
 }
 
 /* Match table for of_platform binding */
@@ -824,7 +822,7 @@ MODULE_DEVICE_TABLE(of, axxia_i2c_of_match);
 
 static struct platform_driver axxia_i2c_driver = {
        .probe = axxia_i2c_probe,
-       .remove = axxia_i2c_remove,
+       .remove_new = axxia_i2c_remove,
        .driver = {
                .name = "axxia-i2c",
                .of_match_table = axxia_i2c_of_match,
index 85d8a6b0488564ee2a672017927436cc556fb28b..2d8342fdc25de6bb330233414e54130e2e9f67b8 100644 (file)
@@ -1107,7 +1107,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
        return i2c_add_adapter(adap);
 }
 
-static int bcm_iproc_i2c_remove(struct platform_device *pdev)
+static void bcm_iproc_i2c_remove(struct platform_device *pdev)
 {
        struct bcm_iproc_i2c_dev *iproc_i2c = platform_get_drvdata(pdev);
 
@@ -1123,8 +1123,6 @@ static int bcm_iproc_i2c_remove(struct platform_device *pdev)
 
        i2c_del_adapter(&iproc_i2c->adapter);
        bcm_iproc_i2c_enable_disable(iproc_i2c, false);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -1260,7 +1258,7 @@ static struct platform_driver bcm_iproc_i2c_driver = {
                .pm = BCM_IPROC_I2C_PM_OPS,
        },
        .probe = bcm_iproc_i2c_probe,
-       .remove = bcm_iproc_i2c_remove,
+       .remove_new = bcm_iproc_i2c_remove,
 };
 module_platform_driver(bcm_iproc_i2c_driver);
 
index f3e369f0fd402056d00656bfb3e1ee98523781aa..a57088ec2b064d141dcbf52f167f5dc61614b939 100644 (file)
@@ -859,13 +859,11 @@ probe_disable_clk:
        return rc;
 }
 
-static int bcm_kona_i2c_remove(struct platform_device *pdev)
+static void bcm_kona_i2c_remove(struct platform_device *pdev)
 {
        struct bcm_kona_i2c_dev *dev = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&dev->adapter);
-
-       return 0;
 }
 
 static const struct of_device_id bcm_kona_i2c_of_match[] = {
@@ -880,7 +878,7 @@ static struct platform_driver bcm_kona_i2c_driver = {
                   .of_match_table = bcm_kona_i2c_of_match,
                   },
        .probe = bcm_kona_i2c_probe,
-       .remove = bcm_kona_i2c_remove,
+       .remove_new = bcm_kona_i2c_remove,
 };
 module_platform_driver(bcm_kona_i2c_driver);
 
index 09a077b31bfe1759305b8a3cabfd2fbf84871377..8ce6d3f4955160a834800d9ff9108dc227ed1d11 100644 (file)
@@ -503,7 +503,7 @@ err_put_exclusive_rate:
        return ret;
 }
 
-static int bcm2835_i2c_remove(struct platform_device *pdev)
+static void bcm2835_i2c_remove(struct platform_device *pdev)
 {
        struct bcm2835_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
 
@@ -512,8 +512,6 @@ static int bcm2835_i2c_remove(struct platform_device *pdev)
 
        free_irq(i2c_dev->irq, i2c_dev);
        i2c_del_adapter(&i2c_dev->adapter);
-
-       return 0;
 }
 
 static const struct of_device_id bcm2835_i2c_of_match[] = {
@@ -525,7 +523,7 @@ MODULE_DEVICE_TABLE(of, bcm2835_i2c_of_match);
 
 static struct platform_driver bcm2835_i2c_driver = {
        .probe          = bcm2835_i2c_probe,
-       .remove         = bcm2835_i2c_remove,
+       .remove_new     = bcm2835_i2c_remove,
        .driver         = {
                .name   = "i2c-bcm2835",
                .of_match_table = bcm2835_i2c_of_match,
index ef942714642a71503f0b222281121025c5564ac4..cf92cbcb8c86bb8b23ffe46609cd5837b76349e0 100644 (file)
@@ -690,12 +690,11 @@ probe_errorout:
        return rc;
 }
 
-static int brcmstb_i2c_remove(struct platform_device *pdev)
+static void brcmstb_i2c_remove(struct platform_device *pdev)
 {
        struct brcmstb_i2c_dev *dev = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&dev->adapter);
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -736,7 +735,7 @@ static struct platform_driver brcmstb_i2c_driver = {
                   .pm = &brcmstb_i2c_pm,
                   },
        .probe = brcmstb_i2c_probe,
-       .remove = brcmstb_i2c_remove,
+       .remove_new = brcmstb_i2c_remove,
 };
 module_platform_driver(brcmstb_i2c_driver);
 
index 3a4edf7e75f9fdcc7184d969cff8f486bc95ce97..9849f450257002e3ce41d5bbac6432646377c4ba 100644 (file)
@@ -1415,7 +1415,7 @@ err_clk_dis:
  *
  * Return: 0 always
  */
-static int cdns_i2c_remove(struct platform_device *pdev)
+static void cdns_i2c_remove(struct platform_device *pdev)
 {
        struct cdns_i2c *id = platform_get_drvdata(pdev);
 
@@ -1427,8 +1427,6 @@ static int cdns_i2c_remove(struct platform_device *pdev)
        clk_notifier_unregister(id->clk, &id->clk_rate_change_nb);
        reset_control_assert(id->reset);
        clk_disable_unprepare(id->clk);
-
-       return 0;
 }
 
 static struct platform_driver cdns_i2c_drv = {
@@ -1438,7 +1436,7 @@ static struct platform_driver cdns_i2c_drv = {
                .pm = &cdns_i2c_dev_pm_ops,
        },
        .probe  = cdns_i2c_probe,
-       .remove = cdns_i2c_remove,
+       .remove_new = cdns_i2c_remove,
 };
 
 module_platform_driver(cdns_i2c_drv);
index d97c61eec95c16311d079edfae89207416fe97b3..fdc1758a32756e943dd2d304e7582c584300a511 100644 (file)
@@ -200,13 +200,11 @@ static const struct i2c_algorithm cbus_i2c_algo = {
        .functionality          = cbus_i2c_func,
 };
 
-static int cbus_i2c_remove(struct platform_device *pdev)
+static void cbus_i2c_remove(struct platform_device *pdev)
 {
        struct i2c_adapter *adapter = platform_get_drvdata(pdev);
 
        i2c_del_adapter(adapter);
-
-       return 0;
 }
 
 static int cbus_i2c_probe(struct platform_device *pdev)
@@ -266,7 +264,7 @@ MODULE_DEVICE_TABLE(of, i2c_cbus_dt_ids);
 
 static struct platform_driver cbus_i2c_driver = {
        .probe  = cbus_i2c_probe,
-       .remove = cbus_i2c_remove,
+       .remove_new = cbus_i2c_remove,
        .driver = {
                .name   = "i2c-cbus-gpio",
                .of_match_table = of_match_ptr(i2c_cbus_dt_ids),
index 2b2c3d090089ec77f817289ec9df79d36388eeec..0209933b9a847580602efbe6b4229add453345f5 100644 (file)
@@ -529,15 +529,13 @@ remove_irq_domain:
        return ret;
 }
 
-static int cht_wc_i2c_adap_i2c_remove(struct platform_device *pdev)
+static void cht_wc_i2c_adap_i2c_remove(struct platform_device *pdev)
 {
        struct cht_wc_i2c_adap *adap = platform_get_drvdata(pdev);
 
        i2c_unregister_device(adap->client);
        i2c_del_adapter(&adap->adapter);
        irq_domain_remove(adap->irq_domain);
-
-       return 0;
 }
 
 static const struct platform_device_id cht_wc_i2c_adap_id_table[] = {
@@ -548,7 +546,7 @@ MODULE_DEVICE_TABLE(platform, cht_wc_i2c_adap_id_table);
 
 static struct platform_driver cht_wc_i2c_adap_driver = {
        .probe = cht_wc_i2c_adap_i2c_probe,
-       .remove = cht_wc_i2c_adap_i2c_remove,
+       .remove_new = cht_wc_i2c_adap_i2c_remove,
        .driver = {
                .name = "cht_wcove_ext_chgr",
        },
index 24d584a1c9a78fc333b1b46b33d640c7041aebc1..732daf6a932b3263493f4c7a4abfed2873ef22d0 100644 (file)
@@ -676,7 +676,7 @@ out_free:
        return result;
 }
 
-static int cpm_i2c_remove(struct platform_device *ofdev)
+static void cpm_i2c_remove(struct platform_device *ofdev)
 {
        struct cpm_i2c *cpm = platform_get_drvdata(ofdev);
 
@@ -685,8 +685,6 @@ static int cpm_i2c_remove(struct platform_device *ofdev)
        cpm_i2c_shutdown(cpm);
 
        kfree(cpm);
-
-       return 0;
 }
 
 static const struct of_device_id cpm_i2c_match[] = {
@@ -703,7 +701,7 @@ MODULE_DEVICE_TABLE(of, cpm_i2c_match);
 
 static struct platform_driver cpm_i2c_driver = {
        .probe          = cpm_i2c_probe,
-       .remove         = cpm_i2c_remove,
+       .remove_new     = cpm_i2c_remove,
        .driver = {
                .name = "fsl-i2c-cpm",
                .of_match_table = cpm_i2c_match,
index 8b3ff5bb14d8da76703d9eb45c6d7c9009e07354..2737fd8abd32494b2aaed2727f9cfe6a824edaf0 100644 (file)
@@ -283,13 +283,11 @@ static int ec_i2c_probe(struct platform_device *pdev)
        return err;
 }
 
-static int ec_i2c_remove(struct platform_device *dev)
+static void ec_i2c_remove(struct platform_device *dev)
 {
        struct ec_i2c_device *bus = platform_get_drvdata(dev);
 
        i2c_del_adapter(&bus->adap);
-
-       return 0;
 }
 
 static const struct of_device_id cros_ec_i2c_of_match[] __maybe_unused = {
@@ -306,7 +304,7 @@ MODULE_DEVICE_TABLE(acpi, cros_ec_i2c_tunnel_acpi_id);
 
 static struct platform_driver ec_i2c_tunnel_driver = {
        .probe = ec_i2c_probe,
-       .remove = ec_i2c_remove,
+       .remove_new = ec_i2c_remove,
        .driver = {
                .name = "cros-ec-i2c-tunnel",
                .acpi_match_table = ACPI_PTR(cros_ec_i2c_tunnel_acpi_id),
index 9750310f2c961180f6d8e7e7a84801eedc768c75..b77f9288c0de6fd63fdb30e020e7d23e38f49f5f 100644 (file)
@@ -885,7 +885,7 @@ err_pm:
        return r;
 }
 
-static int davinci_i2c_remove(struct platform_device *pdev)
+static void davinci_i2c_remove(struct platform_device *pdev)
 {
        struct davinci_i2c_dev *dev = platform_get_drvdata(pdev);
        int ret;
@@ -894,17 +894,15 @@ static int davinci_i2c_remove(struct platform_device *pdev)
 
        i2c_del_adapter(&dev->adapter);
 
-       ret = pm_runtime_resume_and_get(&pdev->dev);
+       ret = pm_runtime_get_sync(&pdev->dev);
        if (ret < 0)
-               return ret;
-
-       davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, 0);
+               dev_err(&pdev->dev, "Failed to resume device\n");
+       else
+               davinci_i2c_write_reg(dev, DAVINCI_I2C_MDR_REG, 0);
 
        pm_runtime_dont_use_autosuspend(dev->dev);
        pm_runtime_put_sync(dev->dev);
        pm_runtime_disable(dev->dev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -945,7 +943,7 @@ MODULE_ALIAS("platform:i2c_davinci");
 
 static struct platform_driver davinci_i2c_driver = {
        .probe          = davinci_i2c_probe,
-       .remove         = davinci_i2c_remove,
+       .remove_new     = davinci_i2c_remove,
        .driver         = {
                .name   = "i2c_davinci",
                .pm     = davinci_i2c_pm_ops,
index 89ad88c547544b30cd6d961ef92e203145c7052b..b404dcd6a6469593bafefe4defcaba5b72e60af8 100644 (file)
@@ -384,7 +384,7 @@ exit_reset:
        return ret;
 }
 
-static int dw_i2c_plat_remove(struct platform_device *pdev)
+static void dw_i2c_plat_remove(struct platform_device *pdev)
 {
        struct dw_i2c_dev *dev = platform_get_drvdata(pdev);
 
@@ -401,8 +401,6 @@ static int dw_i2c_plat_remove(struct platform_device *pdev)
        i2c_dw_remove_lock_support(dev);
 
        reset_control_assert(dev->rst);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -481,7 +479,7 @@ MODULE_ALIAS("platform:i2c_designware");
 
 static struct platform_driver dw_i2c_driver = {
        .probe = dw_i2c_plat_probe,
-       .remove = dw_i2c_plat_remove,
+       .remove_new = dw_i2c_plat_remove,
        .driver         = {
                .name   = "i2c_designware",
                .of_match_table = of_match_ptr(dw_i2c_of_match),
index 50925d97fa429c5a9b3dd306e753ef227d2b09fa..3462f2bc0fa87042a3a4f6f0790ad14b9dbfbab5 100644 (file)
@@ -347,14 +347,12 @@ static int dc_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int dc_i2c_remove(struct platform_device *pdev)
+static void dc_i2c_remove(struct platform_device *pdev)
 {
        struct dc_i2c *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adap);
        clk_disable_unprepare(i2c->clk);
-
-       return 0;
 }
 
 static const struct of_device_id dc_i2c_match[] = {
@@ -365,7 +363,7 @@ MODULE_DEVICE_TABLE(of, dc_i2c_match);
 
 static struct platform_driver dc_i2c_driver = {
        .probe   = dc_i2c_probe,
-       .remove  = dc_i2c_remove,
+       .remove_new = dc_i2c_remove,
        .driver  = {
                .name  = "digicolor-i2c",
                .of_match_table = dc_i2c_match,
index 2a2089db71a5e0ee95420e2d8b8d5b5a3036146b..4f02cc2fb567559984d0469fa73a4eebde80cfdb 100644 (file)
@@ -236,20 +236,18 @@ out_disable:
        return ret;
 }
 
-static int dln2_i2c_remove(struct platform_device *pdev)
+static void dln2_i2c_remove(struct platform_device *pdev)
 {
        struct dln2_i2c *dln2 = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&dln2->adapter);
        dln2_i2c_enable(dln2, false);
-
-       return 0;
 }
 
 static struct platform_driver dln2_i2c_driver = {
        .driver.name    = "dln2-i2c",
        .probe          = dln2_i2c_probe,
-       .remove         = dln2_i2c_remove,
+       .remove_new     = dln2_i2c_remove,
 };
 
 module_platform_driver(dln2_i2c_driver);
index f2e537b137b2004f87e24d7bc7180e3bdca7a9b7..4ba93cd91c0f01431595c1bb557b431fa57a611c 100644 (file)
@@ -419,14 +419,12 @@ err_clk:
        return ret;
 }
 
-static int em_i2c_remove(struct platform_device *dev)
+static void em_i2c_remove(struct platform_device *dev)
 {
        struct em_i2c_device *priv = platform_get_drvdata(dev);
 
        i2c_del_adapter(&priv->adap);
        clk_disable_unprepare(priv->sclk);
-
-       return 0;
 }
 
 static const struct of_device_id em_i2c_ids[] = {
@@ -436,7 +434,7 @@ static const struct of_device_id em_i2c_ids[] = {
 
 static struct platform_driver em_i2c_driver = {
        .probe = em_i2c_probe,
-       .remove = em_i2c_remove,
+       .remove_new = em_i2c_remove,
        .driver = {
                .name = "em-i2c",
                .of_match_table = em_i2c_ids,
index 4a6260d04db2810fdd89505211428e97d1401c51..f378cd479e558429b860e2b06e67609b3dcd8ce0 100644 (file)
@@ -882,7 +882,7 @@ static int exynos5_i2c_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int exynos5_i2c_remove(struct platform_device *pdev)
+static void exynos5_i2c_remove(struct platform_device *pdev)
 {
        struct exynos5_i2c *i2c = platform_get_drvdata(pdev);
 
@@ -890,8 +890,6 @@ static int exynos5_i2c_remove(struct platform_device *pdev)
 
        clk_unprepare(i2c->clk);
        clk_unprepare(i2c->pclk);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -945,7 +943,7 @@ static const struct dev_pm_ops exynos5_i2c_dev_pm_ops = {
 
 static struct platform_driver exynos5_i2c_driver = {
        .probe          = exynos5_i2c_probe,
-       .remove         = exynos5_i2c_remove,
+       .remove_new     = exynos5_i2c_remove,
        .driver         = {
                .name   = "exynos5-hsi2c",
                .pm     = &exynos5_i2c_dev_pm_ops,
index 1794c0399f22d453127dbe1af6f36e694c3f6768..e5a5b9e8bf2c760719eafa5298cf22755c9f25a0 100644 (file)
@@ -475,7 +475,7 @@ static int i2c_gpio_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int i2c_gpio_remove(struct platform_device *pdev)
+static void i2c_gpio_remove(struct platform_device *pdev)
 {
        struct i2c_gpio_private_data *priv;
        struct i2c_adapter *adap;
@@ -486,8 +486,6 @@ static int i2c_gpio_remove(struct platform_device *pdev)
        adap = &priv->adap;
 
        i2c_del_adapter(adap);
-
-       return 0;
 }
 
 static const struct of_device_id i2c_gpio_dt_ids[] = {
@@ -510,7 +508,7 @@ static struct platform_driver i2c_gpio_driver = {
                .acpi_match_table = i2c_gpio_acpi_match,
        },
        .probe          = i2c_gpio_probe,
-       .remove         = i2c_gpio_remove,
+       .remove_new     = i2c_gpio_remove,
 };
 
 static int __init i2c_gpio_init(void)
index 8ea3fb5e4c7f7f9100000977489b6754e5a73acb..70b0de07ed99a1156821c12fa44c0186c87a07d7 100644 (file)
@@ -577,15 +577,13 @@ static int gxp_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int gxp_i2c_remove(struct platform_device *pdev)
+static void gxp_i2c_remove(struct platform_device *pdev)
 {
        struct gxp_i2c_drvdata *drvdata = platform_get_drvdata(pdev);
 
        /* Disable interrupt */
        regmap_update_bits(i2cg_map, GXP_I2CINTEN, BIT(drvdata->engine), 0);
        i2c_del_adapter(&drvdata->adapter);
-
-       return 0;
 }
 
 static const struct of_device_id gxp_i2c_of_match[] = {
@@ -596,7 +594,7 @@ MODULE_DEVICE_TABLE(of, gxp_i2c_of_match);
 
 static struct platform_driver gxp_i2c_driver = {
        .probe  = gxp_i2c_probe,
-       .remove = gxp_i2c_remove,
+       .remove_new = gxp_i2c_remove,
        .driver = {
                .name = "gxp-i2c",
                .of_match_table = gxp_i2c_of_match,
index 4374a8677271765783ac31e9e42a3c2d32a34315..7922bc917c33a7a41255bdc10bf1892a325ede9c 100644 (file)
@@ -435,7 +435,7 @@ err:
        return ret;
 }
 
-static int highlander_i2c_remove(struct platform_device *pdev)
+static void highlander_i2c_remove(struct platform_device *pdev)
 {
        struct highlander_i2c_dev *dev = platform_get_drvdata(pdev);
 
@@ -446,8 +446,6 @@ static int highlander_i2c_remove(struct platform_device *pdev)
 
        iounmap(dev->base);
        kfree(dev);
-
-       return 0;
 }
 
 static struct platform_driver highlander_i2c_driver = {
@@ -456,7 +454,7 @@ static struct platform_driver highlander_i2c_driver = {
        },
 
        .probe          = highlander_i2c_probe,
-       .remove         = highlander_i2c_remove,
+       .remove_new     = highlander_i2c_remove,
 };
 
 module_platform_driver(highlander_i2c_driver);
index 0e34cbaca22dc37c4bcc7a39a60dda6104f0971b..64feaa9dca619d7ab44e1a4616df5ef9b3e6298b 100644 (file)
@@ -464,7 +464,7 @@ err_clk:
        return ret;
 }
 
-static int hix5hd2_i2c_remove(struct platform_device *pdev)
+static void hix5hd2_i2c_remove(struct platform_device *pdev)
 {
        struct hix5hd2_i2c_priv *priv = platform_get_drvdata(pdev);
 
@@ -472,8 +472,6 @@ static int hix5hd2_i2c_remove(struct platform_device *pdev)
        pm_runtime_disable(priv->dev);
        pm_runtime_set_suspended(priv->dev);
        clk_disable_unprepare(priv->clk);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -511,7 +509,7 @@ MODULE_DEVICE_TABLE(of, hix5hd2_i2c_match);
 
 static struct platform_driver hix5hd2_i2c_driver = {
        .probe          = hix5hd2_i2c_probe,
-       .remove         = hix5hd2_i2c_remove,
+       .remove_new     = hix5hd2_i2c_remove,
        .driver         = {
                .name   = "hix5hd2-i2c",
                .pm     = &hix5hd2_i2c_pm_ops,
index eeb80e34f9ad711337879106655628d32993be31..2d11577ded38abf74702c9ff37b244661ab714a9 100644 (file)
@@ -769,7 +769,7 @@ error_cleanup:
 /*
  * Cleanup initialized IIC interface
  */
-static int iic_remove(struct platform_device *ofdev)
+static void iic_remove(struct platform_device *ofdev)
 {
        struct ibm_iic_private *dev = platform_get_drvdata(ofdev);
 
@@ -782,8 +782,6 @@ static int iic_remove(struct platform_device *ofdev)
 
        iounmap(dev->vaddr);
        kfree(dev);
-
-       return 0;
 }
 
 static const struct of_device_id ibm_iic_match[] = {
@@ -798,7 +796,7 @@ static struct platform_driver ibm_iic_driver = {
                .of_match_table = ibm_iic_match,
        },
        .probe  = iic_probe,
-       .remove = iic_remove,
+       .remove_new = iic_remove,
 };
 
 module_platform_driver(ibm_iic_driver);
index 8e987945ed4503d641bd44bcdf2fe36e6e078c66..fea2940dbf2e79d55e6eeeffc9a5c4b05c6c6605 100644 (file)
@@ -1413,7 +1413,7 @@ rpm_disable:
        return ret;
 }
 
-static int img_i2c_remove(struct platform_device *dev)
+static void img_i2c_remove(struct platform_device *dev)
 {
        struct img_i2c *i2c = platform_get_drvdata(dev);
 
@@ -1421,8 +1421,6 @@ static int img_i2c_remove(struct platform_device *dev)
        pm_runtime_disable(&dev->dev);
        if (!pm_runtime_status_suspended(&dev->dev))
                img_i2c_runtime_suspend(&dev->dev);
-
-       return 0;
 }
 
 static int img_i2c_runtime_suspend(struct device *dev)
@@ -1506,7 +1504,7 @@ static struct platform_driver img_scb_i2c_driver = {
                .pm             = &img_i2c_pm,
        },
        .probe = img_i2c_probe,
-       .remove = img_i2c_remove,
+       .remove_new = img_i2c_remove,
 };
 module_platform_driver(img_scb_i2c_driver);
 
index 1af0a637d7f1414b033f5c0231c75a4ece2353bd..48e695880d0af1a9c493054a736825baac65e275 100644 (file)
@@ -623,7 +623,7 @@ rpm_disable:
        return ret;
 }
 
-static int lpi2c_imx_remove(struct platform_device *pdev)
+static void lpi2c_imx_remove(struct platform_device *pdev)
 {
        struct lpi2c_imx_struct *lpi2c_imx = platform_get_drvdata(pdev);
 
@@ -631,8 +631,6 @@ static int lpi2c_imx_remove(struct platform_device *pdev)
 
        pm_runtime_disable(&pdev->dev);
        pm_runtime_dont_use_autosuspend(&pdev->dev);
-
-       return 0;
 }
 
 static int __maybe_unused lpi2c_runtime_suspend(struct device *dev)
@@ -669,7 +667,7 @@ static const struct dev_pm_ops lpi2c_pm_ops = {
 
 static struct platform_driver lpi2c_imx_driver = {
        .probe = lpi2c_imx_probe,
-       .remove = lpi2c_imx_remove,
+       .remove_new = lpi2c_imx_remove,
        .driver = {
                .name = DRIVER_NAME,
                .of_match_table = lpi2c_imx_of_match,
index 42189a5f29051d63619884a65fac0c48b87058b9..65128a73e8a325eda8ed8ff4eddc554a8695e617 100644 (file)
@@ -1561,7 +1561,7 @@ rpm_disable:
        return ret;
 }
 
-static int i2c_imx_remove(struct platform_device *pdev)
+static void i2c_imx_remove(struct platform_device *pdev)
 {
        struct imx_i2c_struct *i2c_imx = platform_get_drvdata(pdev);
        int irq, ret;
@@ -1592,8 +1592,6 @@ static int i2c_imx_remove(struct platform_device *pdev)
 
        pm_runtime_put_noidle(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 static int __maybe_unused i2c_imx_runtime_suspend(struct device *dev)
@@ -1624,7 +1622,7 @@ static const struct dev_pm_ops i2c_imx_pm_ops = {
 
 static struct platform_driver i2c_imx_driver = {
        .probe = i2c_imx_probe,
-       .remove = i2c_imx_remove,
+       .remove_new = i2c_imx_remove,
        .driver = {
                .name = DRIVER_NAME,
                .pm = &i2c_imx_pm_ops,
index 4a6ff54d87fe8ce158010edc5809338fa269d68f..f2f7ebeeaecb0345edb1e8c9cc7aa222d1970d88 100644 (file)
@@ -388,7 +388,7 @@ static const struct i2c_algorithm iop3xx_i2c_algo = {
        .functionality  = iop3xx_i2c_func,
 };
 
-static int
+static void
 iop3xx_i2c_remove(struct platform_device *pdev)
 {
        struct i2c_adapter *padapter = platform_get_drvdata(pdev);
@@ -408,8 +408,6 @@ iop3xx_i2c_remove(struct platform_device *pdev)
        release_mem_region(res->start, IOP3XX_I2C_IO_SIZE);
        kfree(adapter_data);
        kfree(padapter);
-
-       return 0;
 }
 
 static int
@@ -529,7 +527,7 @@ MODULE_DEVICE_TABLE(of, i2c_iop3xx_match);
 
 static struct platform_driver iop3xx_i2c_driver = {
        .probe          = iop3xx_i2c_probe,
-       .remove         = iop3xx_i2c_remove,
+       .remove_new     = iop3xx_i2c_remove,
        .driver         = {
                .name   = "IOP3xx-I2C",
                .of_match_table = i2c_iop3xx_match,
index 2dc7ada06ac5058c913780c3471d7c5cb4dee6ad..1dc1ceaa44439f67566008606f6b543e8f386509 100644 (file)
@@ -286,14 +286,12 @@ static int smbus_sch_probe(struct platform_device *dev)
        return retval;
 }
 
-static int smbus_sch_remove(struct platform_device *pdev)
+static void smbus_sch_remove(struct platform_device *pdev)
 {
        if (sch_smba) {
                i2c_del_adapter(&sch_adapter);
                sch_smba = 0;
        }
-
-       return 0;
 }
 
 static struct platform_driver smbus_sch_driver = {
@@ -301,7 +299,7 @@ static struct platform_driver smbus_sch_driver = {
                .name = "isch_smbus",
        },
        .probe          = smbus_sch_probe,
-       .remove         = smbus_sch_remove,
+       .remove_new     = smbus_sch_remove,
 };
 
 module_platform_driver(smbus_sch_driver);
index baa7319eee53973bb8dc26242d189f0d480f06a5..0dfe6039952147c7d3ef96ae79c54625f7f47fe1 100644 (file)
@@ -845,18 +845,17 @@ err:
        return ret;
 }
 
-static int jz4780_i2c_remove(struct platform_device *pdev)
+static void jz4780_i2c_remove(struct platform_device *pdev)
 {
        struct jz4780_i2c *i2c = platform_get_drvdata(pdev);
 
        clk_disable_unprepare(i2c->clk);
        i2c_del_adapter(&i2c->adap);
-       return 0;
 }
 
 static struct platform_driver jz4780_i2c_driver = {
        .probe          = jz4780_i2c_probe,
-       .remove         = jz4780_i2c_remove,
+       .remove_new     = jz4780_i2c_remove,
        .driver         = {
                .name   = "jz4780-i2c",
                .of_match_table = jz4780_i2c_of_matches,
index cf857cf22507043a1024ab9a04e63131e878b136..281058e3ea4632703e0d4d7b9093dd6c52bfab5a 100644 (file)
@@ -329,7 +329,7 @@ static int kempld_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int kempld_i2c_remove(struct platform_device *pdev)
+static void kempld_i2c_remove(struct platform_device *pdev)
 {
        struct kempld_i2c_data *i2c = platform_get_drvdata(pdev);
        struct kempld_device_data *pld = i2c->pld;
@@ -348,8 +348,6 @@ static int kempld_i2c_remove(struct platform_device *pdev)
        kempld_release_mutex(pld);
 
        i2c_del_adapter(&i2c->adap);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -389,7 +387,7 @@ static struct platform_driver kempld_i2c_driver = {
                .name = "kempld-i2c",
        },
        .probe          = kempld_i2c_probe,
-       .remove         = kempld_i2c_remove,
+       .remove_new     = kempld_i2c_remove,
        .suspend        = kempld_i2c_suspend,
        .resume         = kempld_i2c_resume,
 };
index 8fff6fbb7065c0d9cf34a603cf0ea521007f6c12..469fe907723e8d9e23d49b60f3d428f2c4e6c7c0 100644 (file)
@@ -435,14 +435,12 @@ fail_clk:
        return ret;
 }
 
-static int i2c_lpc2k_remove(struct platform_device *dev)
+static void i2c_lpc2k_remove(struct platform_device *dev)
 {
        struct lpc2k_i2c *i2c = platform_get_drvdata(dev);
 
        i2c_del_adapter(&i2c->adap);
        clk_disable_unprepare(i2c->clk);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -483,7 +481,7 @@ MODULE_DEVICE_TABLE(of, lpc2k_i2c_match);
 
 static struct platform_driver i2c_lpc2k_driver = {
        .probe  = i2c_lpc2k_probe,
-       .remove = i2c_lpc2k_remove,
+       .remove_new = i2c_lpc2k_remove,
        .driver = {
                .name           = "lpc2k-i2c",
                .pm             = I2C_LPC2K_DEV_PM_OPS,
index 889eff06b78f4a9b58a0e3dc6b5653621218444c..16026c895bb65ae27634dde9ca5fb34719490a1b 100644 (file)
@@ -535,14 +535,12 @@ static int meson_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int meson_i2c_remove(struct platform_device *pdev)
+static void meson_i2c_remove(struct platform_device *pdev)
 {
        struct meson_i2c *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adap);
        clk_disable_unprepare(i2c->clk);
-
-       return 0;
 }
 
 static const struct meson_i2c_data i2c_meson6_data = {
@@ -568,7 +566,7 @@ MODULE_DEVICE_TABLE(of, meson_i2c_match);
 
 static struct platform_driver meson_i2c_driver = {
        .probe   = meson_i2c_probe,
-       .remove  = meson_i2c_remove,
+       .remove_new = meson_i2c_remove,
        .driver  = {
                .name  = "meson-i2c",
                .of_match_table = meson_i2c_match,
index 4d7e9b25f018b6ff379062b3a7b12ad56c2dd717..7f58f7eaabb63f8d543941b9a5aebbabed71bab0 100644 (file)
@@ -446,14 +446,12 @@ static int mchp_corei2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int mchp_corei2c_remove(struct platform_device *pdev)
+static void mchp_corei2c_remove(struct platform_device *pdev)
 {
        struct mchp_corei2c_dev *idev = platform_get_drvdata(pdev);
 
        clk_disable_unprepare(idev->i2c_clk);
        i2c_del_adapter(&idev->adapter);
-
-       return 0;
 }
 
 static const struct of_device_id mchp_corei2c_of_match[] = {
@@ -465,7 +463,7 @@ MODULE_DEVICE_TABLE(of, mchp_corei2c_of_match);
 
 static struct platform_driver mchp_corei2c_driver = {
        .probe = mchp_corei2c_probe,
-       .remove = mchp_corei2c_remove,
+       .remove_new = mchp_corei2c_remove,
        .driver = {
                .name = "microchip-corei2c",
                .of_match_table = mchp_corei2c_of_match,
index 1810d5791b3d7563adc4dc9f5d41f865d0d01964..ae66bdd1b7379e47c2ac6d33a677ace36e715012 100644 (file)
@@ -2433,7 +2433,7 @@ static int mlxbf_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int mlxbf_i2c_remove(struct platform_device *pdev)
+static void mlxbf_i2c_remove(struct platform_device *pdev)
 {
        struct mlxbf_i2c_priv *priv = platform_get_drvdata(pdev);
        struct device *dev = &pdev->dev;
@@ -2474,13 +2474,11 @@ static int mlxbf_i2c_remove(struct platform_device *pdev)
        devm_free_irq(dev, priv->irq, priv);
 
        i2c_del_adapter(&priv->adap);
-
-       return 0;
 }
 
 static struct platform_driver mlxbf_i2c_driver = {
        .probe = mlxbf_i2c_probe,
-       .remove = mlxbf_i2c_remove,
+       .remove_new = mlxbf_i2c_remove,
        .driver = {
                .name = "i2c-mlxbf",
                .acpi_match_table = ACPI_PTR(mlxbf_i2c_acpi_ids),
index 081f51ef0551baddc73d023d8b4197c0ef356734..c42fd4b329e4b1e1b4e9b97b2a96b4180f8c4921 100644 (file)
@@ -571,19 +571,17 @@ mlxcpld_i2_probe_failed:
        return err;
 }
 
-static int mlxcpld_i2c_remove(struct platform_device *pdev)
+static void mlxcpld_i2c_remove(struct platform_device *pdev)
 {
        struct mlxcpld_i2c_priv *priv = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&priv->adap);
        mutex_destroy(&priv->lock);
-
-       return 0;
 }
 
 static struct platform_driver mlxcpld_i2c_driver = {
        .probe          = mlxcpld_i2c_probe,
-       .remove         = mlxcpld_i2c_remove,
+       .remove_new     = mlxcpld_i2c_remove,
        .driver = {
                .name = MLXCPLD_I2C_DEVICE_NAME,
        },
index cfd074ee6d5479df6908d7c9d201cb32c9a2dfb8..a308afb3cca5131d980fcc4e7ed0cc8b3c9e2824 100644 (file)
@@ -890,15 +890,13 @@ static int fsl_i2c_probe(struct platform_device *op)
        return result;
 };
 
-static int fsl_i2c_remove(struct platform_device *op)
+static void fsl_i2c_remove(struct platform_device *op)
 {
        struct mpc_i2c *i2c = platform_get_drvdata(op);
 
        i2c_del_adapter(&i2c->adap);
 
        clk_disable_unprepare(i2c->clk_per);
-
-       return 0;
 };
 
 static int __maybe_unused mpc_i2c_suspend(struct device *dev)
@@ -959,7 +957,7 @@ MODULE_DEVICE_TABLE(of, mpc_i2c_of_match);
 /* Structure for a device driver */
 static struct platform_driver mpc_i2c_driver = {
        .probe          = fsl_i2c_probe,
-       .remove         = fsl_i2c_remove,
+       .remove_new     = fsl_i2c_remove,
        .driver = {
                .name = DRV_NAME,
                .of_match_table = mpc_i2c_of_match,
index a43c4d77739ab9846b35c5bdf28dbeb1f6c2f76d..7ca3f2221ba69ed2c0093fd372f1f9813410cd8d 100644 (file)
@@ -1505,15 +1505,13 @@ err_bulk_unprepare:
        return ret;
 }
 
-static int mtk_i2c_remove(struct platform_device *pdev)
+static void mtk_i2c_remove(struct platform_device *pdev)
 {
        struct mtk_i2c *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adap);
 
        clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -1555,7 +1553,7 @@ static const struct dev_pm_ops mtk_i2c_pm = {
 
 static struct platform_driver mtk_i2c_driver = {
        .probe = mtk_i2c_probe,
-       .remove = mtk_i2c_remove,
+       .remove_new = mtk_i2c_remove,
        .driver = {
                .name = I2C_DRV_NAME,
                .pm = &mtk_i2c_pm,
index 20eda5738ac494ff28edbd5df207234b275d1496..f9c294e2bd3c5840665920c84fde5e3563ecec5e 100644 (file)
@@ -332,19 +332,17 @@ err_disable_clk:
        return ret;
 }
 
-static int mtk_i2c_remove(struct platform_device *pdev)
+static void mtk_i2c_remove(struct platform_device *pdev)
 {
        struct mtk_i2c *i2c = platform_get_drvdata(pdev);
 
        clk_disable_unprepare(i2c->clk);
        i2c_del_adapter(&i2c->adap);
-
-       return 0;
 }
 
 static struct platform_driver mtk_i2c_driver = {
        .probe          = mtk_i2c_probe,
-       .remove         = mtk_i2c_remove,
+       .remove_new     = mtk_i2c_remove,
        .driver         = {
                .name   = "i2c-mt7621",
                .of_match_table = i2c_mtk_dt_ids,
index 047dfef7a657750ef7ef75646b026d4ea3c168b9..30fd688e12d9b73952156167f8cd8dfc358044e5 100644 (file)
@@ -1073,7 +1073,7 @@ exit_disable_pm:
        return rc;
 }
 
-static int
+static void
 mv64xxx_i2c_remove(struct platform_device *pd)
 {
        struct mv64xxx_i2c_data         *drv_data = platform_get_drvdata(pd);
@@ -1083,8 +1083,6 @@ mv64xxx_i2c_remove(struct platform_device *pd)
        pm_runtime_disable(&pd->dev);
        if (!pm_runtime_status_suspended(&pd->dev))
                mv64xxx_i2c_runtime_suspend(&pd->dev);
-
-       return 0;
 }
 
 static const struct dev_pm_ops mv64xxx_i2c_pm_ops = {
@@ -1096,7 +1094,7 @@ static const struct dev_pm_ops mv64xxx_i2c_pm_ops = {
 
 static struct platform_driver mv64xxx_i2c_driver = {
        .probe  = mv64xxx_i2c_probe,
-       .remove = mv64xxx_i2c_remove,
+       .remove_new = mv64xxx_i2c_remove,
        .driver = {
                .name   = MV64XXX_I2C_CTLR_NAME,
                .pm     = &mv64xxx_i2c_pm_ops,
index e0f3b3545cfe4984dad9c582c419737ce448b506..1d76f1c4dc06a3d2cad9c772332291276f568bf7 100644 (file)
@@ -864,7 +864,7 @@ static int mxs_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int mxs_i2c_remove(struct platform_device *pdev)
+static void mxs_i2c_remove(struct platform_device *pdev)
 {
        struct mxs_i2c_dev *i2c = platform_get_drvdata(pdev);
 
@@ -874,8 +874,6 @@ static int mxs_i2c_remove(struct platform_device *pdev)
                dma_release_channel(i2c->dmach);
 
        writel(MXS_I2C_CTRL0_SFTRST, i2c->regs + MXS_I2C_CTRL0_SET);
-
-       return 0;
 }
 
 static struct platform_driver mxs_i2c_driver = {
@@ -884,7 +882,7 @@ static struct platform_driver mxs_i2c_driver = {
                   .of_match_table = mxs_i2c_dt_ids,
                   },
        .probe = mxs_i2c_probe,
-       .remove = mxs_i2c_remove,
+       .remove_new = mxs_i2c_remove,
 };
 
 static int __init mxs_i2c_init(void)
index 38d5864d0cb5bd8d9b4baeef7f3c87693b44e2f1..53b65ffb6a6477bf10fdb2130827859e8810428c 100644 (file)
@@ -2361,7 +2361,7 @@ static int npcm_i2c_probe_bus(struct platform_device *pdev)
        return 0;
 }
 
-static int npcm_i2c_remove_bus(struct platform_device *pdev)
+static void npcm_i2c_remove_bus(struct platform_device *pdev)
 {
        unsigned long lock_flags;
        struct npcm_i2c *bus = platform_get_drvdata(pdev);
@@ -2371,7 +2371,6 @@ static int npcm_i2c_remove_bus(struct platform_device *pdev)
        npcm_i2c_disable(bus);
        spin_unlock_irqrestore(&bus->lock, lock_flags);
        i2c_del_adapter(&bus->adap);
-       return 0;
 }
 
 static const struct of_device_id npcm_i2c_bus_of_table[] = {
@@ -2383,7 +2382,7 @@ MODULE_DEVICE_TABLE(of, npcm_i2c_bus_of_table);
 
 static struct platform_driver npcm_i2c_bus_driver = {
        .probe = npcm_i2c_probe_bus,
-       .remove = npcm_i2c_remove_bus,
+       .remove_new = npcm_i2c_remove_bus,
        .driver = {
                .name = "nuvoton-i2c",
                .of_match_table = npcm_i2c_bus_of_table,
index 2e575856c5cd5dfa57a7fa28bce0ac17d62bfa30..0742b84a11eb518bc2b64d0bd9ea9115ba3ffecc 100644 (file)
@@ -743,7 +743,7 @@ err_clk:
        return ret;
 }
 
-static int ocores_i2c_remove(struct platform_device *pdev)
+static void ocores_i2c_remove(struct platform_device *pdev)
 {
        struct ocores_i2c *i2c = platform_get_drvdata(pdev);
        u8 ctrl = oc_getreg(i2c, OCI2C_CONTROL);
@@ -757,8 +757,6 @@ static int ocores_i2c_remove(struct platform_device *pdev)
 
        if (!IS_ERR(i2c->clk))
                clk_disable_unprepare(i2c->clk);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -804,7 +802,7 @@ static SIMPLE_DEV_PM_OPS(ocores_i2c_pm, ocores_i2c_suspend, ocores_i2c_resume);
 
 static struct platform_driver ocores_i2c_driver = {
        .probe   = ocores_i2c_probe,
-       .remove  = ocores_i2c_remove,
+       .remove_new = ocores_i2c_remove,
        .driver  = {
                .name = "ocores-i2c",
                .of_match_table = ocores_i2c_match,
index 0c227963c8d699db758dc01dd2dae8823b45f7e8..7d54b3203f71665711641dd74562ca327acebba4 100644 (file)
@@ -253,12 +253,11 @@ out:
        return result;
 };
 
-static int octeon_i2c_remove(struct platform_device *pdev)
+static void octeon_i2c_remove(struct platform_device *pdev)
 {
        struct octeon_i2c *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adap);
-       return 0;
 };
 
 static const struct of_device_id octeon_i2c_match[] = {
@@ -270,7 +269,7 @@ MODULE_DEVICE_TABLE(of, octeon_i2c_match);
 
 static struct platform_driver octeon_i2c_driver = {
        .probe          = octeon_i2c_probe,
-       .remove         = octeon_i2c_remove,
+       .remove_new     = octeon_i2c_remove,
        .driver         = {
                .name   = DRV_NAME,
                .of_match_table = octeon_i2c_match,
index 4199f57a6bf299b142d5344a1a916fca2197b26d..58fd6fa3edf1449c30fe713adca8273e054e52fd 100644 (file)
@@ -1519,7 +1519,7 @@ err_disable_pm:
        return r;
 }
 
-static int omap_i2c_remove(struct platform_device *pdev)
+static void omap_i2c_remove(struct platform_device *pdev)
 {
        struct omap_i2c_dev     *omap = platform_get_drvdata(pdev);
        int ret;
@@ -1535,8 +1535,6 @@ static int omap_i2c_remove(struct platform_device *pdev)
        pm_runtime_dont_use_autosuspend(&pdev->dev);
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 static int __maybe_unused omap_i2c_runtime_suspend(struct device *dev)
@@ -1588,7 +1586,7 @@ static const struct dev_pm_ops omap_i2c_pm_ops = {
 
 static struct platform_driver omap_i2c_driver = {
        .probe          = omap_i2c_probe,
-       .remove         = omap_i2c_remove,
+       .remove_new     = omap_i2c_remove,
        .driver         = {
                .name   = "omap_i2c",
                .pm     = &omap_i2c_pm_ops,
index 9f773b4f5ed8e439d60c4033fb962e5d089d9e3a..17ef87d50f7c7d51d5c8d0187fb3663f5a742a58 100644 (file)
@@ -232,13 +232,11 @@ static int i2c_opal_probe(struct platform_device *pdev)
        return rc;
 }
 
-static int i2c_opal_remove(struct platform_device *pdev)
+static void i2c_opal_remove(struct platform_device *pdev)
 {
        struct i2c_adapter *adapter = platform_get_drvdata(pdev);
 
        i2c_del_adapter(adapter);
-
-       return 0;
 }
 
 static const struct of_device_id i2c_opal_of_match[] = {
@@ -251,7 +249,7 @@ MODULE_DEVICE_TABLE(of, i2c_opal_of_match);
 
 static struct platform_driver i2c_opal_driver = {
        .probe  = i2c_opal_probe,
-       .remove = i2c_opal_remove,
+       .remove_new = i2c_opal_remove,
        .driver = {
                .name           = "i2c-opal",
                .of_match_table = i2c_opal_of_match,
index e35945a91dbef40b5c58301ca0da7d694fc4afa6..0a44f64897c7ac1d74dc0f9d5046e6d3668786ae 100644 (file)
@@ -98,12 +98,11 @@ out_clk_disable:
        return error;
 }
 
-static int pasemi_platform_i2c_remove(struct platform_device *pdev)
+static void pasemi_platform_i2c_remove(struct platform_device *pdev)
 {
        struct pasemi_platform_i2c_data *data = platform_get_drvdata(pdev);
 
        clk_disable_unprepare(data->clk_ref);
-       return 0;
 }
 
 static const struct of_device_id pasemi_platform_i2c_of_match[] = {
@@ -119,7 +118,7 @@ static struct platform_driver pasemi_platform_i2c_driver = {
                .of_match_table         = pasemi_platform_i2c_of_match,
        },
        .probe  = pasemi_platform_i2c_probe,
-       .remove = pasemi_platform_i2c_remove,
+       .remove_new = pasemi_platform_i2c_remove,
 };
 module_platform_driver(pasemi_platform_i2c_driver);
 
index 86d4f75ef8d3f4262edab97307933a5d5e53f1f9..d2a9e7b61c1abdc49f5791e293cfde34c8aa4588 100644 (file)
@@ -221,13 +221,11 @@ static int i2c_pca_pf_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int i2c_pca_pf_remove(struct platform_device *pdev)
+static void i2c_pca_pf_remove(struct platform_device *pdev)
 {
        struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adap);
-
-       return 0;
 }
 
 #ifdef CONFIG_OF
@@ -241,7 +239,7 @@ MODULE_DEVICE_TABLE(of, i2c_pca_of_match_table);
 
 static struct platform_driver i2c_pca_pf_driver = {
        .probe = i2c_pca_pf_probe,
-       .remove = i2c_pca_pf_remove,
+       .remove_new = i2c_pca_pf_remove,
        .driver = {
                .name = "i2c-pca-platform",
                .of_match_table = of_match_ptr(i2c_pca_of_match_table),
index 50f21cdbe90d3cbfae78f65238908a604a64e7c5..82400057f810a5feaa0e05b58e1d9efaa06cfbd1 100644 (file)
@@ -743,14 +743,12 @@ out_clock:
        return ret;
 }
 
-static int i2c_pnx_remove(struct platform_device *pdev)
+static void i2c_pnx_remove(struct platform_device *pdev)
 {
        struct i2c_pnx_algo_data *alg_data = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&alg_data->adapter);
        clk_disable_unprepare(alg_data->clk);
-
-       return 0;
 }
 
 #ifdef CONFIG_OF
@@ -768,7 +766,7 @@ static struct platform_driver i2c_pnx_driver = {
                .pm = PNX_I2C_PM,
        },
        .probe = i2c_pnx_probe,
-       .remove = i2c_pnx_remove,
+       .remove_new = i2c_pnx_remove,
 };
 
 static int __init i2c_adap_pnx_init(void)
index ec706a3aba26c577ab89e804cd253a0b50308940..4996a628fdae1bb41fee3bd440e685dcfcdab6df 100644 (file)
@@ -188,14 +188,12 @@ static const struct i2c_adapter_quirks i2c_powermac_quirks = {
        .max_num_msgs = 1,
 };
 
-static int i2c_powermac_remove(struct platform_device *dev)
+static void i2c_powermac_remove(struct platform_device *dev)
 {
        struct i2c_adapter      *adapter = platform_get_drvdata(dev);
 
        i2c_del_adapter(adapter);
        memset(adapter, 0, sizeof(*adapter));
-
-       return 0;
 }
 
 static u32 i2c_powermac_get_addr(struct i2c_adapter *adap,
@@ -439,7 +437,7 @@ static int i2c_powermac_probe(struct platform_device *dev)
 
 static struct platform_driver i2c_powermac_driver = {
        .probe = i2c_powermac_probe,
-       .remove = i2c_powermac_remove,
+       .remove_new = i2c_powermac_remove,
        .driver = {
                .name = "i2c-powermac",
                .bus = &platform_bus_type,
index f9fa5308556b77f4b89e8e31d8c5af5519b2ee1d..937f7eebe90675f72b43dd0f89a8152b649e41dd 100644 (file)
@@ -1482,15 +1482,13 @@ ereqirq:
        return ret;
 }
 
-static int i2c_pxa_remove(struct platform_device *dev)
+static void i2c_pxa_remove(struct platform_device *dev)
 {
        struct pxa_i2c *i2c = platform_get_drvdata(dev);
 
        i2c_del_adapter(&i2c->adap);
 
        clk_disable_unprepare(i2c->clk);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -1525,7 +1523,7 @@ static const struct dev_pm_ops i2c_pxa_dev_pm_ops = {
 
 static struct platform_driver i2c_pxa_driver = {
        .probe          = i2c_pxa_probe,
-       .remove         = i2c_pxa_remove,
+       .remove_new     = i2c_pxa_remove,
        .driver         = {
                .name   = "pxa2xx-i2c",
                .pm     = I2C_PXA_DEV_PM_OPS,
index 01358472680c4cd905217ee257225874fdf65873..58860014e0681c0b85195ed4bfec2f706c9f5c4e 100644 (file)
@@ -675,7 +675,7 @@ disable_clocks:
        return ret;
 }
 
-static int cci_remove(struct platform_device *pdev)
+static void cci_remove(struct platform_device *pdev)
 {
        struct cci *cci = platform_get_drvdata(pdev);
        int i;
@@ -691,8 +691,6 @@ static int cci_remove(struct platform_device *pdev)
        disable_irq(cci->irq);
        pm_runtime_disable(&pdev->dev);
        pm_runtime_set_suspended(&pdev->dev);
-
-       return 0;
 }
 
 static const struct cci_data cci_v1_data = {
@@ -829,7 +827,7 @@ MODULE_DEVICE_TABLE(of, cci_dt_match);
 
 static struct platform_driver qcom_cci_driver = {
        .probe  = cci_probe,
-       .remove = cci_remove,
+       .remove_new = cci_remove,
        .driver = {
                .name = "i2c-qcom-cci",
                .of_match_table = cci_dt_match,
index 83909b02a03ee063b1d82358bc261a7a51f78a31..b670a67c4fdd00e068010718dbfd6a7ed970c2bd 100644 (file)
@@ -936,14 +936,13 @@ err_dma:
        return ret;
 }
 
-static int geni_i2c_remove(struct platform_device *pdev)
+static void geni_i2c_remove(struct platform_device *pdev)
 {
        struct geni_i2c_dev *gi2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&gi2c->adap);
        release_gpi_dma(gi2c);
        pm_runtime_disable(gi2c->se.dev);
-       return 0;
 }
 
 static void geni_i2c_shutdown(struct platform_device *pdev)
@@ -1041,7 +1040,7 @@ MODULE_DEVICE_TABLE(of, geni_i2c_dt_match);
 
 static struct platform_driver geni_i2c_driver = {
        .probe  = geni_i2c_probe,
-       .remove = geni_i2c_remove,
+       .remove_new = geni_i2c_remove,
        .shutdown = geni_i2c_shutdown,
        .driver = {
                .name = "geni_i2c",
index 2e153f2f71b6d8e9cde863759033d46c3c850ad7..6eef1dbd00de75e7eac83e2baef0277a7d1fe4ba 100644 (file)
@@ -1904,7 +1904,7 @@ fail_dma:
        return ret;
 }
 
-static int qup_i2c_remove(struct platform_device *pdev)
+static void qup_i2c_remove(struct platform_device *pdev)
 {
        struct qup_i2c_dev *qup = platform_get_drvdata(pdev);
 
@@ -1918,7 +1918,6 @@ static int qup_i2c_remove(struct platform_device *pdev)
        i2c_del_adapter(&qup->adap);
        pm_runtime_disable(qup->dev);
        pm_runtime_set_suspended(qup->dev);
-       return 0;
 }
 
 #ifdef CONFIG_PM
@@ -1978,7 +1977,7 @@ MODULE_DEVICE_TABLE(of, qup_i2c_dt_match);
 
 static struct platform_driver qup_i2c_driver = {
        .probe  = qup_i2c_probe,
-       .remove = qup_i2c_remove,
+       .remove_new = qup_i2c_remove,
        .driver = {
                .name = "i2c_qup",
                .pm = &qup_i2c_qup_pm_ops,
index cef82b205c261ccb993b8ec2cae136d51b977546..2d9c37410ebd0f1f397d91b3589b28b2bcdcf954 100644 (file)
@@ -1155,7 +1155,7 @@ static int rcar_i2c_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int rcar_i2c_remove(struct platform_device *pdev)
+static void rcar_i2c_remove(struct platform_device *pdev)
 {
        struct rcar_i2c_priv *priv = platform_get_drvdata(pdev);
        struct device *dev = &pdev->dev;
@@ -1167,8 +1167,6 @@ static int rcar_i2c_remove(struct platform_device *pdev)
        if (priv->flags & ID_P_PM_BLOCKED)
                pm_runtime_put(dev);
        pm_runtime_disable(dev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -1204,7 +1202,7 @@ static struct platform_driver rcar_i2c_driver = {
                .pm     = DEV_PM_OPS,
        },
        .probe          = rcar_i2c_probe,
-       .remove         = rcar_i2c_remove,
+       .remove_new     = rcar_i2c_remove,
 };
 
 module_platform_driver(rcar_i2c_driver);
index 849848ccb08022825cd13d14fe3f5adfbc453c17..5f8c0bd508d2f3edb28e2d12b0de33769686465c 100644 (file)
@@ -477,7 +477,7 @@ out:
        return ret;
 }
 
-static int riic_i2c_remove(struct platform_device *pdev)
+static void riic_i2c_remove(struct platform_device *pdev)
 {
        struct riic_dev *riic = platform_get_drvdata(pdev);
 
@@ -486,8 +486,6 @@ static int riic_i2c_remove(struct platform_device *pdev)
        pm_runtime_put(&pdev->dev);
        i2c_del_adapter(&riic->adapter);
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 static const struct of_device_id riic_i2c_dt_ids[] = {
@@ -497,7 +495,7 @@ static const struct of_device_id riic_i2c_dt_ids[] = {
 
 static struct platform_driver riic_i2c_driver = {
        .probe          = riic_i2c_probe,
-       .remove         = riic_i2c_remove,
+       .remove_new     = riic_i2c_remove,
        .driver         = {
                .name   = "i2c-riic",
                .of_match_table = riic_i2c_dt_ids,
index b31cf4f18f8548571dc8f387ad8e3c29ebe6fdc1..a044ca0c35a193e9f8abeb3cff88707285a7028d 100644 (file)
@@ -1372,7 +1372,7 @@ err_clk:
        return ret;
 }
 
-static int rk3x_i2c_remove(struct platform_device *pdev)
+static void rk3x_i2c_remove(struct platform_device *pdev)
 {
        struct rk3x_i2c *i2c = platform_get_drvdata(pdev);
 
@@ -1381,15 +1381,13 @@ static int rk3x_i2c_remove(struct platform_device *pdev)
        clk_notifier_unregister(i2c->clk, &i2c->clk_rate_nb);
        clk_unprepare(i2c->pclk);
        clk_unprepare(i2c->clk);
-
-       return 0;
 }
 
 static SIMPLE_DEV_PM_OPS(rk3x_i2c_pm_ops, NULL, rk3x_i2c_resume);
 
 static struct platform_driver rk3x_i2c_driver = {
        .probe   = rk3x_i2c_probe,
-       .remove  = rk3x_i2c_remove,
+       .remove_new = rk3x_i2c_remove,
        .driver  = {
                .name  = "rk3x-i2c",
                .of_match_table = rk3x_i2c_match,
index 56d0faee5c46e7cf1da71adbd435b11fbdae2ea9..dee9b6e655c56e5f8f02a78e541990c7e94a02fc 100644 (file)
@@ -460,7 +460,7 @@ static int rzv2m_i2c_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int rzv2m_i2c_remove(struct platform_device *pdev)
+static void rzv2m_i2c_remove(struct platform_device *pdev)
 {
        struct rzv2m_i2c_priv *priv = platform_get_drvdata(pdev);
        struct device *dev = priv->adap.dev.parent;
@@ -468,8 +468,6 @@ static int rzv2m_i2c_remove(struct platform_device *pdev)
        i2c_del_adapter(&priv->adap);
        bit_clrl(priv->base + IICB0CTL0, IICB0IICE);
        pm_runtime_disable(dev);
-
-       return 0;
 }
 
 static int rzv2m_i2c_suspend(struct device *dev)
@@ -523,7 +521,7 @@ static struct platform_driver rzv2m_i2c_driver = {
                .pm = pm_sleep_ptr(&rzv2m_i2c_pm_ops),
        },
        .probe  = rzv2m_i2c_probe,
-       .remove = rzv2m_i2c_remove,
+       .remove_new = rzv2m_i2c_remove,
 };
 module_platform_driver(rzv2m_i2c_driver);
 
index 45e9df81345a1a0508583d26402196b545f29c07..28f0e5c64f32ec0b4c9b3cfa9e9b493189a2ea1e 100644 (file)
@@ -1114,7 +1114,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int s3c24xx_i2c_remove(struct platform_device *pdev)
+static void s3c24xx_i2c_remove(struct platform_device *pdev)
 {
        struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
 
@@ -1123,8 +1123,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
        pm_runtime_disable(&pdev->dev);
 
        i2c_del_adapter(&i2c->adap);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -1172,7 +1170,7 @@ static const struct dev_pm_ops s3c24xx_i2c_dev_pm_ops = {
 
 static struct platform_driver s3c24xx_i2c_driver = {
        .probe          = s3c24xx_i2c_probe,
-       .remove         = s3c24xx_i2c_remove,
+       .remove_new     = s3c24xx_i2c_remove,
        .id_table       = s3c24xx_driver_ids,
        .driver         = {
                .name   = "s3c-i2c",
index 0239e134b90f425ece63c0dcde8326ad75a27af0..10457029224131826a4be2198bcb8531e143372c 100644 (file)
@@ -404,19 +404,17 @@ err:
        return ret;
 }
 
-static int smbus_cmi_remove(struct platform_device *device)
+static void smbus_cmi_remove(struct platform_device *device)
 {
        struct acpi_smbus_cmi *smbus_cmi = platform_get_drvdata(device);
 
        i2c_del_adapter(&smbus_cmi->adapter);
        kfree(smbus_cmi);
-
-       return 0;
 }
 
 static struct platform_driver smbus_cmi_driver = {
        .probe = smbus_cmi_probe,
-       .remove = smbus_cmi_remove,
+       .remove_new = smbus_cmi_remove,
        .driver = {
                .name   = "smbus_cmi",
                .acpi_match_table = acpi_smbus_cmi_ids,
index 319d1fa617c883e1ff7b890c76ffb4d5e97f0388..60efa3a5e67566c38ab9e124e2dcbbc5847c9308 100644 (file)
@@ -536,7 +536,7 @@ out0:
        return ret;
 }
 
-static int sh7760_i2c_remove(struct platform_device *pdev)
+static void sh7760_i2c_remove(struct platform_device *pdev)
 {
        struct cami2c *id = platform_get_drvdata(pdev);
 
@@ -546,8 +546,6 @@ static int sh7760_i2c_remove(struct platform_device *pdev)
        release_resource(id->ioarea);
        kfree(id->ioarea);
        kfree(id);
-
-       return 0;
 }
 
 static struct platform_driver sh7760_i2c_drv = {
@@ -555,7 +553,7 @@ static struct platform_driver sh7760_i2c_drv = {
                .name   = SH7760_I2C_DEVNAME,
        },
        .probe          = sh7760_i2c_probe,
-       .remove         = sh7760_i2c_remove,
+       .remove_new     = sh7760_i2c_remove,
 };
 
 module_platform_driver(sh7760_i2c_drv);
index 29330ee64c9c039f0c9f760b27ac48e910de440a..21717b943a9e0044d049dc3d881eb32bc40a3829 100644 (file)
@@ -956,14 +956,13 @@ static int sh_mobile_i2c_probe(struct platform_device *dev)
        return 0;
 }
 
-static int sh_mobile_i2c_remove(struct platform_device *dev)
+static void sh_mobile_i2c_remove(struct platform_device *dev)
 {
        struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev);
 
        i2c_del_adapter(&pd->adap);
        sh_mobile_i2c_release_dma(pd);
        pm_runtime_disable(&dev->dev);
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
@@ -1000,7 +999,7 @@ static struct platform_driver sh_mobile_i2c_driver = {
                .pm     = DEV_PM_OPS,
        },
        .probe          = sh_mobile_i2c_probe,
-       .remove         = sh_mobile_i2c_remove,
+       .remove_new     = sh_mobile_i2c_remove,
 };
 
 static int __init sh_mobile_i2c_adap_init(void)
index 87701744752fb77f89c32e2ed49e93b69bae6b2c..18516bc64e046b93543fd0039df2851cd3c1bb51 100644 (file)
@@ -126,7 +126,7 @@ static int simtec_i2c_probe(struct platform_device *dev)
        return ret;
 }
 
-static int simtec_i2c_remove(struct platform_device *dev)
+static void simtec_i2c_remove(struct platform_device *dev)
 {
        struct simtec_i2c_data *pd = platform_get_drvdata(dev);
 
@@ -135,8 +135,6 @@ static int simtec_i2c_remove(struct platform_device *dev)
        iounmap(pd->reg);
        release_mem_region(pd->ioarea->start, resource_size(pd->ioarea));
        kfree(pd);
-
-       return 0;
 }
 
 /* device driver */
@@ -146,7 +144,7 @@ static struct platform_driver simtec_i2c_driver = {
                .name           = "simtec-i2c",
        },
        .probe          = simtec_i2c_probe,
-       .remove         = simtec_i2c_remove,
+       .remove_new     = simtec_i2c_remove,
 };
 
 module_platform_driver(simtec_i2c_driver);
index f823913b75a6fc60250d42e6e973a552fe995e8b..25c3521cae0e35a433e52d9d91047bc197e1a2ca 100644 (file)
@@ -876,13 +876,11 @@ static int st_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int st_i2c_remove(struct platform_device *pdev)
+static void st_i2c_remove(struct platform_device *pdev)
 {
        struct st_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c_dev->adap);
-
-       return 0;
 }
 
 static const struct of_device_id st_i2c_match[] = {
@@ -899,7 +897,7 @@ static struct platform_driver st_i2c_driver = {
                .pm = pm_sleep_ptr(&st_i2c_pm),
        },
        .probe = st_i2c_probe,
-       .remove = st_i2c_remove,
+       .remove_new = st_i2c_remove,
 };
 
 module_platform_driver(st_i2c_driver);
index eebce7ecef25b7c887e3f654cbcc0266d2a59066..6ad06a5a22b43b22cf14a9d95064a8d69f192a09 100644 (file)
@@ -861,15 +861,13 @@ clk_free:
        return ret;
 }
 
-static int stm32f4_i2c_remove(struct platform_device *pdev)
+static void stm32f4_i2c_remove(struct platform_device *pdev)
 {
        struct stm32f4_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c_dev->adap);
 
        clk_unprepare(i2c_dev->clk);
-
-       return 0;
 }
 
 static const struct of_device_id stm32f4_i2c_match[] = {
@@ -884,7 +882,7 @@ static struct platform_driver stm32f4_i2c_driver = {
                .of_match_table = stm32f4_i2c_match,
        },
        .probe = stm32f4_i2c_probe,
-       .remove = stm32f4_i2c_remove,
+       .remove_new = stm32f4_i2c_remove,
 };
 
 module_platform_driver(stm32f4_i2c_driver);
index d1c59d83a65b96ca7eb2d7bf541aa17391984ec8..e897d9101434dccb15ab32f54bc0cf8396c1b08d 100644 (file)
@@ -2309,7 +2309,7 @@ clk_free:
        return ret;
 }
 
-static int stm32f7_i2c_remove(struct platform_device *pdev)
+static void stm32f7_i2c_remove(struct platform_device *pdev)
 {
        struct stm32f7_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
 
@@ -2341,8 +2341,6 @@ static int stm32f7_i2c_remove(struct platform_device *pdev)
        stm32f7_i2c_write_fm_plus_bits(i2c_dev, false);
 
        clk_disable_unprepare(i2c_dev->clk);
-
-       return 0;
 }
 
 static int __maybe_unused stm32f7_i2c_runtime_suspend(struct device *dev)
@@ -2486,7 +2484,7 @@ static struct platform_driver stm32f7_i2c_driver = {
                .pm = &stm32f7_i2c_pm_ops,
        },
        .probe = stm32f7_i2c_probe,
-       .remove = stm32f7_i2c_remove,
+       .remove_new = stm32f7_i2c_remove,
 };
 
 module_platform_driver(stm32f7_i2c_driver);
index 9e3483f507ff5aa78989d951bb6ea8265b8b4977..3cff1afe0caa2d36ed14256a600f943dbc241100 100644 (file)
@@ -313,20 +313,18 @@ err_clk_disable:
        return ret;
 }
 
-static int p2wi_remove(struct platform_device *dev)
+static void p2wi_remove(struct platform_device *dev)
 {
        struct p2wi *p2wi = platform_get_drvdata(dev);
 
        reset_control_assert(p2wi->rstc);
        clk_disable_unprepare(p2wi->clk);
        i2c_del_adapter(&p2wi->adapter);
-
-       return 0;
 }
 
 static struct platform_driver p2wi_driver = {
        .probe  = p2wi_probe,
-       .remove = p2wi_remove,
+       .remove_new = p2wi_remove,
        .driver = {
                .name = "i2c-sunxi-p2wi",
                .of_match_table = p2wi_of_match_table,
index 50d19cf99a03a75c693430c4a2b9bbf5ff179147..4cc196ca8f6dcca5a4d425b393e9c68a5ecb2cc3 100644 (file)
@@ -618,15 +618,13 @@ static int synquacer_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int synquacer_i2c_remove(struct platform_device *pdev)
+static void synquacer_i2c_remove(struct platform_device *pdev)
 {
        struct synquacer_i2c *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adapter);
        if (!IS_ERR(i2c->pclk))
                clk_disable_unprepare(i2c->pclk);
-
-       return 0;
 };
 
 static const struct of_device_id synquacer_i2c_dt_ids[] __maybe_unused = {
@@ -645,7 +643,7 @@ MODULE_DEVICE_TABLE(acpi, synquacer_i2c_acpi_ids);
 
 static struct platform_driver synquacer_i2c_driver = {
        .probe  = synquacer_i2c_probe,
-       .remove = synquacer_i2c_remove,
+       .remove_new = synquacer_i2c_remove,
        .driver = {
                .name = "synquacer_i2c",
                .of_match_table = of_match_ptr(synquacer_i2c_dt_ids),
index 95139985b2d5efdaa390c556dc9041be63a1edcd..bc3f94561746e9b7a3e48cc04bfc44dc9f4f0b68 100644 (file)
@@ -316,13 +316,11 @@ static int tegra_bpmp_i2c_probe(struct platform_device *pdev)
        return i2c_add_adapter(&i2c->adapter);
 }
 
-static int tegra_bpmp_i2c_remove(struct platform_device *pdev)
+static void tegra_bpmp_i2c_remove(struct platform_device *pdev)
 {
        struct tegra_bpmp_i2c *i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&i2c->adapter);
-
-       return 0;
 }
 
 static const struct of_device_id tegra_bpmp_i2c_of_match[] = {
@@ -337,7 +335,7 @@ static struct platform_driver tegra_bpmp_i2c_driver = {
                .of_match_table = tegra_bpmp_i2c_of_match,
        },
        .probe = tegra_bpmp_i2c_probe,
-       .remove = tegra_bpmp_i2c_remove,
+       .remove_new = tegra_bpmp_i2c_remove,
 };
 module_platform_driver(tegra_bpmp_i2c_driver);
 
index 157066f06a32d7b296c86429175212d2a6f71f99..a82d264bf73dfdae744744ff354108159fb37157 100644 (file)
@@ -1868,7 +1868,7 @@ release_clocks:
        return err;
 }
 
-static int tegra_i2c_remove(struct platform_device *pdev)
+static void tegra_i2c_remove(struct platform_device *pdev)
 {
        struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
 
@@ -1877,8 +1877,6 @@ static int tegra_i2c_remove(struct platform_device *pdev)
 
        tegra_i2c_release_dma(i2c_dev);
        tegra_i2c_release_clocks(i2c_dev);
-
-       return 0;
 }
 
 static int __maybe_unused tegra_i2c_runtime_resume(struct device *dev)
@@ -1987,7 +1985,7 @@ MODULE_DEVICE_TABLE(acpi, tegra_i2c_acpi_match);
 
 static struct platform_driver tegra_i2c_driver = {
        .probe = tegra_i2c_probe,
-       .remove = tegra_i2c_remove,
+       .remove_new = tegra_i2c_remove,
        .driver = {
                .name = "tegra-i2c",
                .of_match_table = tegra_i2c_of_match,
index d7b622891e52decb3e313ec3aa656fd122c4e23e..54b1624ef87ea3d7ca7f857e920c97410afad0a0 100644 (file)
@@ -586,14 +586,12 @@ disable_clk:
        return ret;
 }
 
-static int uniphier_fi2c_remove(struct platform_device *pdev)
+static void uniphier_fi2c_remove(struct platform_device *pdev)
 {
        struct uniphier_fi2c_priv *priv = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&priv->adap);
        clk_disable_unprepare(priv->clk);
-
-       return 0;
 }
 
 static int __maybe_unused uniphier_fi2c_suspend(struct device *dev)
@@ -631,7 +629,7 @@ MODULE_DEVICE_TABLE(of, uniphier_fi2c_match);
 
 static struct platform_driver uniphier_fi2c_drv = {
        .probe  = uniphier_fi2c_probe,
-       .remove = uniphier_fi2c_remove,
+       .remove_new = uniphier_fi2c_remove,
        .driver = {
                .name  = "uniphier-fi2c",
                .of_match_table = uniphier_fi2c_match,
index e3ebae381f08af31c5c10034600305a5f415ad38..96b1eb7489a3c9124fa20844d364c3aecd79b8ee 100644 (file)
@@ -380,14 +380,12 @@ disable_clk:
        return ret;
 }
 
-static int uniphier_i2c_remove(struct platform_device *pdev)
+static void uniphier_i2c_remove(struct platform_device *pdev)
 {
        struct uniphier_i2c_priv *priv = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&priv->adap);
        clk_disable_unprepare(priv->clk);
-
-       return 0;
 }
 
 static int __maybe_unused uniphier_i2c_suspend(struct device *dev)
@@ -425,7 +423,7 @@ MODULE_DEVICE_TABLE(of, uniphier_i2c_match);
 
 static struct platform_driver uniphier_i2c_drv = {
        .probe  = uniphier_i2c_probe,
-       .remove = uniphier_i2c_remove,
+       .remove_new = uniphier_i2c_remove,
        .driver = {
                .name  = "uniphier-i2c",
                .of_match_table = uniphier_i2c_match,
index 1ab419f8fa527f08428a7b2646af9e86a91838cc..0a866456db586cf86df472f7ee2791d4c0474d62 100644 (file)
@@ -96,12 +96,11 @@ static int i2c_versatile_probe(struct platform_device *dev)
        return 0;
 }
 
-static int i2c_versatile_remove(struct platform_device *dev)
+static void i2c_versatile_remove(struct platform_device *dev)
 {
        struct i2c_versatile *i2c = platform_get_drvdata(dev);
 
        i2c_del_adapter(&i2c->adap);
-       return 0;
 }
 
 static const struct of_device_id i2c_versatile_match[] = {
@@ -112,7 +111,7 @@ MODULE_DEVICE_TABLE(of, i2c_versatile_match);
 
 static struct platform_driver i2c_versatile_driver = {
        .probe          = i2c_versatile_probe,
-       .remove         = i2c_versatile_remove,
+       .remove_new     = i2c_versatile_remove,
        .driver         = {
                .name   = "versatile-i2c",
                .of_match_table = i2c_versatile_match,
index 8b5322c3bce0ea7d144aa748bba2b5ca0ae7b56d..9e153b5b0e8e425b2b3113a09aa879096ba6142b 100644 (file)
@@ -407,20 +407,18 @@ static int vprbrd_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int vprbrd_i2c_remove(struct platform_device *pdev)
+static void vprbrd_i2c_remove(struct platform_device *pdev)
 {
        struct vprbrd_i2c *vb_i2c = platform_get_drvdata(pdev);
 
        i2c_del_adapter(&vb_i2c->i2c);
-
-       return 0;
 }
 
 static struct platform_driver vprbrd_i2c_driver = {
        .driver.name    = "viperboard-i2c",
        .driver.owner   = THIS_MODULE,
        .probe          = vprbrd_i2c_probe,
-       .remove         = vprbrd_i2c_remove,
+       .remove_new     = vprbrd_i2c_remove,
 };
 
 static int __init vprbrd_i2c_init(void)
index 7d4bc8736079323784dbff65b833e98dce303353..736acaa538d2627b9d0243b19efdf8e7f8d3c63c 100644 (file)
@@ -436,7 +436,7 @@ static int wmt_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int wmt_i2c_remove(struct platform_device *pdev)
+static void wmt_i2c_remove(struct platform_device *pdev)
 {
        struct wmt_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
 
@@ -444,8 +444,6 @@ static int wmt_i2c_remove(struct platform_device *pdev)
        writew(0, i2c_dev->base + REG_IMR);
        clk_disable_unprepare(i2c_dev->clk);
        i2c_del_adapter(&i2c_dev->adapter);
-
-       return 0;
 }
 
 static const struct of_device_id wmt_i2c_dt_ids[] = {
@@ -455,7 +453,7 @@ static const struct of_device_id wmt_i2c_dt_ids[] = {
 
 static struct platform_driver wmt_i2c_driver = {
        .probe          = wmt_i2c_probe,
-       .remove         = wmt_i2c_remove,
+       .remove_new     = wmt_i2c_remove,
        .driver         = {
                .name   = "wmt-i2c",
                .of_match_table = wmt_i2c_dt_ids,
index 3538d36368a90b5fcf5f8e18e01826908c2198ec..fbc1ffbd2fa7d6643601fc47769e3af715474483 100644 (file)
@@ -560,7 +560,7 @@ mbox_err:
        return rc;
 }
 
-static int xgene_slimpro_i2c_remove(struct platform_device *pdev)
+static void xgene_slimpro_i2c_remove(struct platform_device *pdev)
 {
        struct slimpro_i2c_dev *ctx = platform_get_drvdata(pdev);
 
@@ -570,8 +570,6 @@ static int xgene_slimpro_i2c_remove(struct platform_device *pdev)
                mbox_free_channel(ctx->mbox_chan);
        else
                pcc_mbox_free_channel(ctx->pcc_chan);
-
-       return 0;
 }
 
 static const struct of_device_id xgene_slimpro_i2c_dt_ids[] = {
@@ -591,7 +589,7 @@ MODULE_DEVICE_TABLE(acpi, xgene_slimpro_i2c_acpi_ids);
 
 static struct platform_driver xgene_slimpro_i2c_driver = {
        .probe  = xgene_slimpro_i2c_probe,
-       .remove = xgene_slimpro_i2c_remove,
+       .remove_new = xgene_slimpro_i2c_remove,
        .driver = {
                .name   = "xgene-slimpro-i2c",
                .of_match_table = of_match_ptr(xgene_slimpro_i2c_dt_ids),
index 8a3d9817cb41cae3d54f7291e6279b5a59ce5627..61288f8dd0672f5f96a40611ea088732a24ddff6 100644 (file)
@@ -1335,7 +1335,7 @@ err_clk_dis:
        return ret;
 }
 
-static int xiic_i2c_remove(struct platform_device *pdev)
+static void xiic_i2c_remove(struct platform_device *pdev)
 {
        struct xiic_i2c *i2c = platform_get_drvdata(pdev);
        int ret;
@@ -1356,8 +1356,6 @@ static int xiic_i2c_remove(struct platform_device *pdev)
        pm_runtime_disable(&pdev->dev);
        pm_runtime_set_suspended(&pdev->dev);
        pm_runtime_dont_use_autosuspend(&pdev->dev);
-
-       return 0;
 }
 
 static int __maybe_unused xiic_i2c_runtime_suspend(struct device *dev)
@@ -1390,7 +1388,7 @@ static const struct dev_pm_ops xiic_dev_pm_ops = {
 
 static struct platform_driver xiic_i2c_driver = {
        .probe   = xiic_i2c_probe,
-       .remove  = xiic_i2c_remove,
+       .remove_new = xiic_i2c_remove,
        .driver  = {
                .name = DRIVER_NAME,
                .of_match_table = of_match_ptr(xiic_of_match),
index 4e3b11c0f73251f7782644ccd0daca49c1a13ab6..f59e8c544f36655b87cc23d466cf393b78f2c7cd 100644 (file)
@@ -559,7 +559,7 @@ static int xlp9xx_i2c_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int xlp9xx_i2c_remove(struct platform_device *pdev)
+static void xlp9xx_i2c_remove(struct platform_device *pdev)
 {
        struct xlp9xx_i2c_dev *priv;
 
@@ -568,8 +568,6 @@ static int xlp9xx_i2c_remove(struct platform_device *pdev)
        synchronize_irq(priv->irq);
        i2c_del_adapter(&priv->adapter);
        xlp9xx_write_i2c_reg(priv, XLP9XX_I2C_CTRL, 0);
-
-       return 0;
 }
 
 #ifdef CONFIG_ACPI
@@ -583,7 +581,7 @@ MODULE_DEVICE_TABLE(acpi, xlp9xx_i2c_acpi_ids);
 
 static struct platform_driver xlp9xx_i2c_driver = {
        .probe = xlp9xx_i2c_probe,
-       .remove = xlp9xx_i2c_remove,
+       .remove_new = xlp9xx_i2c_remove,
        .driver = {
                .name = "xlp9xx-i2c",
                .acpi_match_table = ACPI_PTR(xlp9xx_i2c_acpi_ids),
index 7b42a18bd05c2690a7c67eacec72d146ed89ad26..83c1db610f54b8c6d64139466e777dccc95c330f 100644 (file)
@@ -523,14 +523,12 @@ static void scx200_cleanup_iface(struct scx200_acb_iface *iface)
        kfree(iface);
 }
 
-static int scx200_remove(struct platform_device *pdev)
+static void scx200_remove(struct platform_device *pdev)
 {
        struct scx200_acb_iface *iface;
 
        iface = platform_get_drvdata(pdev);
        scx200_cleanup_iface(iface);
-
-       return 0;
 }
 
 static struct platform_driver scx200_pci_driver = {
@@ -538,7 +536,7 @@ static struct platform_driver scx200_pci_driver = {
                .name = "cs5535-smb",
        },
        .probe = scx200_probe,
-       .remove = scx200_remove,
+       .remove_new = scx200_remove,
 };
 
 static const struct pci_device_id scx200_isa[] = {
index 1c78657631f4f838196aa093640bd218b880e1c6..24168e9f7df4c15299b72846d23c8d62bb5410cc 100644 (file)
@@ -174,13 +174,12 @@ static int i2c_arbitrator_probe(struct platform_device *pdev)
        return ret;
 }
 
-static int i2c_arbitrator_remove(struct platform_device *pdev)
+static void i2c_arbitrator_remove(struct platform_device *pdev)
 {
        struct i2c_mux_core *muxc = platform_get_drvdata(pdev);
 
        i2c_mux_del_adapters(muxc);
        i2c_put_adapter(muxc->parent);
-       return 0;
 }
 
 static const struct of_device_id i2c_arbitrator_of_match[] = {
@@ -191,7 +190,7 @@ MODULE_DEVICE_TABLE(of, i2c_arbitrator_of_match);
 
 static struct platform_driver i2c_arbitrator_driver = {
        .probe  = i2c_arbitrator_probe,
-       .remove = i2c_arbitrator_remove,
+       .remove_new = i2c_arbitrator_remove,
        .driver = {
                .name   = "i2c-arb-gpio-challenge",
                .of_match_table = i2c_arbitrator_of_match,
index f7a7405d4350a10718b7948d546ca31fc11dabdb..a3a122fae71e09853200069e668b326e139eb90f 100644 (file)
@@ -282,7 +282,7 @@ err_rollback:
        return err;
 }
 
-static int i2c_demux_pinctrl_remove(struct platform_device *pdev)
+static void i2c_demux_pinctrl_remove(struct platform_device *pdev)
 {
        struct i2c_demux_pinctrl_priv *priv = platform_get_drvdata(pdev);
        int i;
@@ -296,8 +296,6 @@ static int i2c_demux_pinctrl_remove(struct platform_device *pdev)
                of_node_put(priv->chan[i].parent_np);
                of_changeset_destroy(&priv->chan[i].chgset);
        }
-
-       return 0;
 }
 
 static const struct of_device_id i2c_demux_pinctrl_of_match[] = {
@@ -312,7 +310,7 @@ static struct platform_driver i2c_demux_pinctrl_driver = {
                .of_match_table = i2c_demux_pinctrl_of_match,
        },
        .probe  = i2c_demux_pinctrl_probe,
-       .remove = i2c_demux_pinctrl_remove,
+       .remove_new = i2c_demux_pinctrl_remove,
 };
 module_platform_driver(i2c_demux_pinctrl_driver);
 
index 73a23e117ebec4e8118efb6de4f8c1a049dd3fe5..5d5cbe0130cdf99de1917d5c013b8894c622a727 100644 (file)
@@ -225,14 +225,12 @@ alloc_failed:
        return ret;
 }
 
-static int i2c_mux_gpio_remove(struct platform_device *pdev)
+static void i2c_mux_gpio_remove(struct platform_device *pdev)
 {
        struct i2c_mux_core *muxc = platform_get_drvdata(pdev);
 
        i2c_mux_del_adapters(muxc);
        i2c_put_adapter(muxc->parent);
-
-       return 0;
 }
 
 static const struct of_device_id i2c_mux_gpio_of_match[] = {
@@ -243,7 +241,7 @@ MODULE_DEVICE_TABLE(of, i2c_mux_gpio_of_match);
 
 static struct platform_driver i2c_mux_gpio_driver = {
        .probe  = i2c_mux_gpio_probe,
-       .remove = i2c_mux_gpio_remove,
+       .remove_new = i2c_mux_gpio_remove,
        .driver = {
                .name   = "i2c-mux-gpio",
                .of_match_table = i2c_mux_gpio_of_match,
index 33024acaac02b8083751eec245374b79649d0bd4..0405af0e15104993d0e186cbc98c097044ba9ff8 100644 (file)
@@ -142,19 +142,17 @@ err_parent:
        return ret;
 }
 
-static int i2c_mux_remove(struct platform_device *pdev)
+static void i2c_mux_remove(struct platform_device *pdev)
 {
        struct i2c_mux_core *muxc = platform_get_drvdata(pdev);
 
        i2c_mux_del_adapters(muxc);
        i2c_put_adapter(muxc->parent);
-
-       return 0;
 }
 
 static struct platform_driver i2c_mux_driver = {
        .probe  = i2c_mux_probe,
-       .remove = i2c_mux_remove,
+       .remove_new = i2c_mux_remove,
        .driver = {
                .name   = "i2c-mux-gpmux",
                .of_match_table = i2c_mux_of_match,
index 1a879f6a31efdf5378600e4aba51ac19b7062ad1..3dda00f1df78da36e29a335d8da13181ea16df7c 100644 (file)
@@ -170,12 +170,11 @@ virt_reg_failed:
        return err;
 }
 
-static int mlxcpld_mux_remove(struct platform_device *pdev)
+static void mlxcpld_mux_remove(struct platform_device *pdev)
 {
        struct i2c_mux_core *muxc = platform_get_drvdata(pdev);
 
        i2c_mux_del_adapters(muxc);
-       return 0;
 }
 
 static struct platform_driver mlxcpld_mux_driver = {
@@ -183,7 +182,7 @@ static struct platform_driver mlxcpld_mux_driver = {
                .name = "i2c-mux-mlxcpld",
        },
        .probe = mlxcpld_mux_probe,
-       .remove = mlxcpld_mux_remove,
+       .remove_new = mlxcpld_mux_remove,
 };
 
 module_platform_driver(mlxcpld_mux_driver);
index d5ad904756fdf3c5005c66c7b3cffc5bcdc45edc..18236b9fa14a9558dfb08bf656da442090d4611f 100644 (file)
@@ -166,14 +166,12 @@ err_put_parent:
        return ret;
 }
 
-static int i2c_mux_pinctrl_remove(struct platform_device *pdev)
+static void i2c_mux_pinctrl_remove(struct platform_device *pdev)
 {
        struct i2c_mux_core *muxc = platform_get_drvdata(pdev);
 
        i2c_mux_del_adapters(muxc);
        i2c_put_adapter(muxc->parent);
-
-       return 0;
 }
 
 static const struct of_device_id i2c_mux_pinctrl_of_match[] = {
@@ -188,7 +186,7 @@ static struct platform_driver i2c_mux_pinctrl_driver = {
                .of_match_table = i2c_mux_pinctrl_of_match,
        },
        .probe  = i2c_mux_pinctrl_probe,
-       .remove = i2c_mux_pinctrl_remove,
+       .remove_new = i2c_mux_pinctrl_remove,
 };
 module_platform_driver(i2c_mux_pinctrl_driver);
 
index 30a6de1694e0791ea6d70b75b4c35df2ff7cc0d0..9efc1ed01577b1987f3493c686bd8133eb31fcdb 100644 (file)
@@ -233,14 +233,12 @@ err_put_parent:
        return ret;
 }
 
-static int i2c_mux_reg_remove(struct platform_device *pdev)
+static void i2c_mux_reg_remove(struct platform_device *pdev)
 {
        struct i2c_mux_core *muxc = platform_get_drvdata(pdev);
 
        i2c_mux_del_adapters(muxc);
        i2c_put_adapter(muxc->parent);
-
-       return 0;
 }
 
 static const struct of_device_id i2c_mux_reg_of_match[] = {
@@ -251,7 +249,7 @@ MODULE_DEVICE_TABLE(of, i2c_mux_reg_of_match);
 
 static struct platform_driver i2c_mux_reg_driver = {
        .probe  = i2c_mux_reg_probe,
-       .remove = i2c_mux_reg_remove,
+       .remove_new = i2c_mux_reg_remove,
        .driver = {
                .name   = "i2c-mux-reg",
                .of_match_table = of_match_ptr(i2c_mux_reg_of_match),