+++ /dev/null
-From cbe887280d2b7603830d97f5dcbe8769ba438a77 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 8 May 2023 22:51:38 +0200
-Subject: i2c: Convert to platform remove callback returning void
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
-[ Upstream commit e190a0c389e60178fba3d532abf936dcae223e7d ]
-
-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>
-Stable-dep-of: 9e1a1ee93f6b ("i2c: ocores: use devm_ managed clks")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/i2c/busses/i2c-altera.c | 6 ++----
- drivers/i2c/busses/i2c-amd-mp2-plat.c | 5 ++---
- drivers/i2c/busses/i2c-aspeed.c | 6 ++----
- drivers/i2c/busses/i2c-at91-core.c | 6 ++----
- drivers/i2c/busses/i2c-au1550.c | 5 ++---
- drivers/i2c/busses/i2c-axxia.c | 6 ++----
- drivers/i2c/busses/i2c-bcm-iproc.c | 6 ++----
- drivers/i2c/busses/i2c-bcm-kona.c | 6 ++----
- drivers/i2c/busses/i2c-bcm2835.c | 6 ++----
- drivers/i2c/busses/i2c-brcmstb.c | 5 ++---
- drivers/i2c/busses/i2c-cadence.c | 6 ++----
- drivers/i2c/busses/i2c-cbus-gpio.c | 6 ++----
- drivers/i2c/busses/i2c-cht-wc.c | 6 ++----
- drivers/i2c/busses/i2c-cpm.c | 6 ++----
- drivers/i2c/busses/i2c-cros-ec-tunnel.c | 6 ++----
- drivers/i2c/busses/i2c-davinci.c | 14 ++++++--------
- drivers/i2c/busses/i2c-designware-platdrv.c | 6 ++----
- drivers/i2c/busses/i2c-digicolor.c | 6 ++----
- drivers/i2c/busses/i2c-dln2.c | 6 ++----
- drivers/i2c/busses/i2c-emev2.c | 6 ++----
- drivers/i2c/busses/i2c-exynos5.c | 6 ++----
- drivers/i2c/busses/i2c-gpio.c | 6 ++----
- drivers/i2c/busses/i2c-gxp.c | 6 ++----
- drivers/i2c/busses/i2c-highlander.c | 6 ++----
- drivers/i2c/busses/i2c-hix5hd2.c | 6 ++----
- drivers/i2c/busses/i2c-ibm_iic.c | 6 ++----
- drivers/i2c/busses/i2c-img-scb.c | 6 ++----
- drivers/i2c/busses/i2c-imx-lpi2c.c | 6 ++----
- drivers/i2c/busses/i2c-imx.c | 6 ++----
- drivers/i2c/busses/i2c-iop3xx.c | 6 ++----
- drivers/i2c/busses/i2c-isch.c | 6 ++----
- drivers/i2c/busses/i2c-jz4780.c | 5 ++---
- drivers/i2c/busses/i2c-kempld.c | 6 ++----
- drivers/i2c/busses/i2c-lpc2k.c | 6 ++----
- drivers/i2c/busses/i2c-meson.c | 6 ++----
- drivers/i2c/busses/i2c-microchip-corei2c.c | 6 ++----
- drivers/i2c/busses/i2c-mlxbf.c | 6 ++----
- drivers/i2c/busses/i2c-mlxcpld.c | 6 ++----
- drivers/i2c/busses/i2c-mpc.c | 6 ++----
- drivers/i2c/busses/i2c-mt65xx.c | 6 ++----
- drivers/i2c/busses/i2c-mt7621.c | 6 ++----
- drivers/i2c/busses/i2c-mv64xxx.c | 6 ++----
- drivers/i2c/busses/i2c-mxs.c | 6 ++----
- drivers/i2c/busses/i2c-npcm7xx.c | 5 ++---
- drivers/i2c/busses/i2c-ocores.c | 6 ++----
- drivers/i2c/busses/i2c-octeon-platdrv.c | 5 ++---
- drivers/i2c/busses/i2c-omap.c | 6 ++----
- drivers/i2c/busses/i2c-opal.c | 6 ++----
- drivers/i2c/busses/i2c-pasemi-platform.c | 5 ++---
- drivers/i2c/busses/i2c-pca-platform.c | 6 ++----
- drivers/i2c/busses/i2c-pnx.c | 6 ++----
- drivers/i2c/busses/i2c-powermac.c | 6 ++----
- drivers/i2c/busses/i2c-pxa.c | 6 ++----
- drivers/i2c/busses/i2c-qcom-cci.c | 6 ++----
- drivers/i2c/busses/i2c-qcom-geni.c | 5 ++---
- drivers/i2c/busses/i2c-qup.c | 5 ++---
- drivers/i2c/busses/i2c-rcar.c | 6 ++----
- drivers/i2c/busses/i2c-riic.c | 6 ++----
- drivers/i2c/busses/i2c-rk3x.c | 6 ++----
- drivers/i2c/busses/i2c-rzv2m.c | 6 ++----
- drivers/i2c/busses/i2c-s3c2410.c | 6 ++----
- drivers/i2c/busses/i2c-scmi.c | 6 ++----
- drivers/i2c/busses/i2c-sh7760.c | 6 ++----
- drivers/i2c/busses/i2c-sh_mobile.c | 5 ++---
- drivers/i2c/busses/i2c-simtec.c | 6 ++----
- drivers/i2c/busses/i2c-st.c | 6 ++----
- drivers/i2c/busses/i2c-stm32f4.c | 6 ++----
- drivers/i2c/busses/i2c-stm32f7.c | 6 ++----
- drivers/i2c/busses/i2c-sun6i-p2wi.c | 6 ++----
- drivers/i2c/busses/i2c-synquacer.c | 6 ++----
- drivers/i2c/busses/i2c-tegra-bpmp.c | 6 ++----
- drivers/i2c/busses/i2c-tegra.c | 6 ++----
- drivers/i2c/busses/i2c-uniphier-f.c | 6 ++----
- drivers/i2c/busses/i2c-uniphier.c | 6 ++----
- drivers/i2c/busses/i2c-versatile.c | 5 ++---
- drivers/i2c/busses/i2c-viperboard.c | 6 ++----
- drivers/i2c/busses/i2c-wmt.c | 6 ++----
- drivers/i2c/busses/i2c-xgene-slimpro.c | 6 ++----
- drivers/i2c/busses/i2c-xiic.c | 6 ++----
- drivers/i2c/busses/i2c-xlp9xx.c | 6 ++----
- drivers/i2c/busses/scx200_acb.c | 6 ++----
- drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 5 ++---
- drivers/i2c/muxes/i2c-demux-pinctrl.c | 6 ++----
- drivers/i2c/muxes/i2c-mux-gpio.c | 6 ++----
- drivers/i2c/muxes/i2c-mux-gpmux.c | 6 ++----
- drivers/i2c/muxes/i2c-mux-mlxcpld.c | 5 ++---
- drivers/i2c/muxes/i2c-mux-pinctrl.c | 6 ++----
- drivers/i2c/muxes/i2c-mux-reg.c | 6 ++----
- 88 files changed, 180 insertions(+), 343 deletions(-)
-
-diff --git a/drivers/i2c/busses/i2c-altera.c b/drivers/i2c/busses/i2c-altera.c
-index 50e7f3f670b6f..252fbd175fb1c 100644
---- a/drivers/i2c/busses/i2c-altera.c
-+++ b/drivers/i2c/busses/i2c-altera.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-amd-mp2-plat.c b/drivers/i2c/busses/i2c-amd-mp2-plat.c
-index 423fe0c8a471e..112fe2bc5662b 100644
---- a/drivers/i2c/busses/i2c-amd-mp2-plat.c
-+++ b/drivers/i2c/busses/i2c-amd-mp2-plat.c
-@@ -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),
-diff --git a/drivers/i2c/busses/i2c-aspeed.c b/drivers/i2c/busses/i2c-aspeed.c
-index d3c99c5b32478..2e5acfeb76c81 100644
---- a/drivers/i2c/busses/i2c-aspeed.c
-+++ b/drivers/i2c/busses/i2c-aspeed.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-at91-core.c b/drivers/i2c/busses/i2c-at91-core.c
-index 2df9df5851314..05ad3bc3578ac 100644
---- a/drivers/i2c/busses/i2c-at91-core.c
-+++ b/drivers/i2c/busses/i2c-at91-core.c
-@@ -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",
-diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
-index 7b42d35b12942..e66c12ecf2706 100644
---- a/drivers/i2c/busses/i2c-au1550.c
-+++ b/drivers/i2c/busses/i2c-au1550.c
-@@ -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);
-diff --git a/drivers/i2c/busses/i2c-axxia.c b/drivers/i2c/busses/i2c-axxia.c
-index c1c74ce084071..d7f1e98777ace 100644
---- a/drivers/i2c/busses/i2c-axxia.c
-+++ b/drivers/i2c/busses/i2c-axxia.c
-@@ -804,14 +804,12 @@ static int axxia_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
-index 85d8a6b048856..2d8342fdc25de 100644
---- a/drivers/i2c/busses/i2c-bcm-iproc.c
-+++ b/drivers/i2c/busses/i2c-bcm-iproc.c
-@@ -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);
-
-diff --git a/drivers/i2c/busses/i2c-bcm-kona.c b/drivers/i2c/busses/i2c-bcm-kona.c
-index f3e369f0fd402..a57088ec2b064 100644
---- a/drivers/i2c/busses/i2c-bcm-kona.c
-+++ b/drivers/i2c/busses/i2c-bcm-kona.c
-@@ -859,13 +859,11 @@ static int bcm_kona_i2c_probe(struct platform_device *pdev)
- 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);
-
-diff --git a/drivers/i2c/busses/i2c-bcm2835.c b/drivers/i2c/busses/i2c-bcm2835.c
-index 09a077b31bfe1..8ce6d3f495516 100644
---- a/drivers/i2c/busses/i2c-bcm2835.c
-+++ b/drivers/i2c/busses/i2c-bcm2835.c
-@@ -503,7 +503,7 @@ static int bcm2835_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-brcmstb.c b/drivers/i2c/busses/i2c-brcmstb.c
-index ef942714642a7..cf92cbcb8c86b 100644
---- a/drivers/i2c/busses/i2c-brcmstb.c
-+++ b/drivers/i2c/busses/i2c-brcmstb.c
-@@ -690,12 +690,11 @@ static int brcmstb_i2c_probe(struct platform_device *pdev)
- 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);
-
-diff --git a/drivers/i2c/busses/i2c-cadence.c b/drivers/i2c/busses/i2c-cadence.c
-index 3a4edf7e75f9f..9849f45025700 100644
---- a/drivers/i2c/busses/i2c-cadence.c
-+++ b/drivers/i2c/busses/i2c-cadence.c
-@@ -1415,7 +1415,7 @@ static int cdns_i2c_probe(struct platform_device *pdev)
- *
- * 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);
-diff --git a/drivers/i2c/busses/i2c-cbus-gpio.c b/drivers/i2c/busses/i2c-cbus-gpio.c
-index d97c61eec95c1..fdc1758a32756 100644
---- a/drivers/i2c/busses/i2c-cbus-gpio.c
-+++ b/drivers/i2c/busses/i2c-cbus-gpio.c
-@@ -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),
-diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-wc.c
-index 2b2c3d090089e..0209933b9a847 100644
---- a/drivers/i2c/busses/i2c-cht-wc.c
-+++ b/drivers/i2c/busses/i2c-cht-wc.c
-@@ -529,15 +529,13 @@ static int cht_wc_i2c_adap_i2c_probe(struct platform_device *pdev)
- 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",
- },
-diff --git a/drivers/i2c/busses/i2c-cpm.c b/drivers/i2c/busses/i2c-cpm.c
-index 24d584a1c9a78..732daf6a932b3 100644
---- a/drivers/i2c/busses/i2c-cpm.c
-+++ b/drivers/i2c/busses/i2c-cpm.c
-@@ -676,7 +676,7 @@ static int cpm_i2c_probe(struct platform_device *ofdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-cros-ec-tunnel.c b/drivers/i2c/busses/i2c-cros-ec-tunnel.c
-index 8b3ff5bb14d8d..2737fd8abd324 100644
---- a/drivers/i2c/busses/i2c-cros-ec-tunnel.c
-+++ b/drivers/i2c/busses/i2c-cros-ec-tunnel.c
-@@ -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),
-diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
-index 9750310f2c961..b77f9288c0de6 100644
---- a/drivers/i2c/busses/i2c-davinci.c
-+++ b/drivers/i2c/busses/i2c-davinci.c
-@@ -885,7 +885,7 @@ static int davinci_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
-index 89ad88c547544..b404dcd6a6469 100644
---- a/drivers/i2c/busses/i2c-designware-platdrv.c
-+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
-@@ -384,7 +384,7 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
- 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),
-diff --git a/drivers/i2c/busses/i2c-digicolor.c b/drivers/i2c/busses/i2c-digicolor.c
-index 50925d97fa429..3462f2bc0fa87 100644
---- a/drivers/i2c/busses/i2c-digicolor.c
-+++ b/drivers/i2c/busses/i2c-digicolor.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-dln2.c b/drivers/i2c/busses/i2c-dln2.c
-index 2a2089db71a5e..4f02cc2fb5675 100644
---- a/drivers/i2c/busses/i2c-dln2.c
-+++ b/drivers/i2c/busses/i2c-dln2.c
-@@ -236,20 +236,18 @@ static int dln2_i2c_probe(struct platform_device *pdev)
- 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);
-diff --git a/drivers/i2c/busses/i2c-emev2.c b/drivers/i2c/busses/i2c-emev2.c
-index f2e537b137b20..4ba93cd91c0f0 100644
---- a/drivers/i2c/busses/i2c-emev2.c
-+++ b/drivers/i2c/busses/i2c-emev2.c
-@@ -419,14 +419,12 @@ static int em_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-exynos5.c b/drivers/i2c/busses/i2c-exynos5.c
-index 4a6260d04db28..f378cd479e558 100644
---- a/drivers/i2c/busses/i2c-exynos5.c
-+++ b/drivers/i2c/busses/i2c-exynos5.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
-index 1794c0399f22d..e5a5b9e8bf2c7 100644
---- a/drivers/i2c/busses/i2c-gpio.c
-+++ b/drivers/i2c/busses/i2c-gpio.c
-@@ -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)
-diff --git a/drivers/i2c/busses/i2c-gxp.c b/drivers/i2c/busses/i2c-gxp.c
-index 8ea3fb5e4c7f7..70b0de07ed99a 100644
---- a/drivers/i2c/busses/i2c-gxp.c
-+++ b/drivers/i2c/busses/i2c-gxp.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
-index 4374a86772717..7922bc917c33a 100644
---- a/drivers/i2c/busses/i2c-highlander.c
-+++ b/drivers/i2c/busses/i2c-highlander.c
-@@ -435,7 +435,7 @@ static int highlander_i2c_probe(struct platform_device *pdev)
- 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);
-diff --git a/drivers/i2c/busses/i2c-hix5hd2.c b/drivers/i2c/busses/i2c-hix5hd2.c
-index 0e34cbaca22dc..64feaa9dca619 100644
---- a/drivers/i2c/busses/i2c-hix5hd2.c
-+++ b/drivers/i2c/busses/i2c-hix5hd2.c
-@@ -464,7 +464,7 @@ static int hix5hd2_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
-index eeb80e34f9ad7..2d11577ded38a 100644
---- a/drivers/i2c/busses/i2c-ibm_iic.c
-+++ b/drivers/i2c/busses/i2c-ibm_iic.c
-@@ -769,7 +769,7 @@ static int iic_probe(struct platform_device *ofdev)
- /*
- * 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);
-diff --git a/drivers/i2c/busses/i2c-img-scb.c b/drivers/i2c/busses/i2c-img-scb.c
-index 39c479f96eb58..8e6320bc791a7 100644
---- a/drivers/i2c/busses/i2c-img-scb.c
-+++ b/drivers/i2c/busses/i2c-img-scb.c
-@@ -1413,7 +1413,7 @@ static int img_i2c_probe(struct platform_device *pdev)
- 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);
-
-diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
-index 4d24ceb57ee74..f1ec7c1596b34 100644
---- a/drivers/i2c/busses/i2c-imx-lpi2c.c
-+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
-@@ -623,7 +623,7 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
-index 42189a5f29051..65128a73e8a32 100644
---- a/drivers/i2c/busses/i2c-imx.c
-+++ b/drivers/i2c/busses/i2c-imx.c
-@@ -1561,7 +1561,7 @@ static int i2c_imx_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c
-index 4a6ff54d87fe8..f2f7ebeeaecb0 100644
---- a/drivers/i2c/busses/i2c-iop3xx.c
-+++ b/drivers/i2c/busses/i2c-iop3xx.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-isch.c b/drivers/i2c/busses/i2c-isch.c
-index 2dc7ada06ac50..1dc1ceaa44439 100644
---- a/drivers/i2c/busses/i2c-isch.c
-+++ b/drivers/i2c/busses/i2c-isch.c
-@@ -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);
-diff --git a/drivers/i2c/busses/i2c-jz4780.c b/drivers/i2c/busses/i2c-jz4780.c
-index baa7319eee539..0dfe603995214 100644
---- a/drivers/i2c/busses/i2c-jz4780.c
-+++ b/drivers/i2c/busses/i2c-jz4780.c
-@@ -845,18 +845,17 @@ static int jz4780_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-kempld.c b/drivers/i2c/busses/i2c-kempld.c
-index cf857cf225070..281058e3ea463 100644
---- a/drivers/i2c/busses/i2c-kempld.c
-+++ b/drivers/i2c/busses/i2c-kempld.c
-@@ -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,
- };
-diff --git a/drivers/i2c/busses/i2c-lpc2k.c b/drivers/i2c/busses/i2c-lpc2k.c
-index 8fff6fbb7065c..469fe907723e8 100644
---- a/drivers/i2c/busses/i2c-lpc2k.c
-+++ b/drivers/i2c/busses/i2c-lpc2k.c
-@@ -435,14 +435,12 @@ static int i2c_lpc2k_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-meson.c b/drivers/i2c/busses/i2c-meson.c
-index 889eff06b78f4..16026c895bb65 100644
---- a/drivers/i2c/busses/i2c-meson.c
-+++ b/drivers/i2c/busses/i2c-meson.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-microchip-corei2c.c b/drivers/i2c/busses/i2c-microchip-corei2c.c
-index 4d7e9b25f018b..7f58f7eaabb63 100644
---- a/drivers/i2c/busses/i2c-microchip-corei2c.c
-+++ b/drivers/i2c/busses/i2c-microchip-corei2c.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-mlxbf.c b/drivers/i2c/busses/i2c-mlxbf.c
-index 1810d5791b3d7..ae66bdd1b7379 100644
---- a/drivers/i2c/busses/i2c-mlxbf.c
-+++ b/drivers/i2c/busses/i2c-mlxbf.c
-@@ -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),
-diff --git a/drivers/i2c/busses/i2c-mlxcpld.c b/drivers/i2c/busses/i2c-mlxcpld.c
-index 081f51ef0551b..c42fd4b329e4b 100644
---- a/drivers/i2c/busses/i2c-mlxcpld.c
-+++ b/drivers/i2c/busses/i2c-mlxcpld.c
-@@ -571,19 +571,17 @@ static int mlxcpld_i2c_probe(struct platform_device *pdev)
- 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,
- },
-diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
-index cfd074ee6d547..a308afb3cca51 100644
---- a/drivers/i2c/busses/i2c-mpc.c
-+++ b/drivers/i2c/busses/i2c-mpc.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c
-index a43c4d77739ab..7ca3f2221ba69 100644
---- a/drivers/i2c/busses/i2c-mt65xx.c
-+++ b/drivers/i2c/busses/i2c-mt65xx.c
-@@ -1505,15 +1505,13 @@ static int mtk_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-mt7621.c b/drivers/i2c/busses/i2c-mt7621.c
-index 20eda5738ac49..f9c294e2bd3c5 100644
---- a/drivers/i2c/busses/i2c-mt7621.c
-+++ b/drivers/i2c/busses/i2c-mt7621.c
-@@ -332,19 +332,17 @@ static int mtk_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
-index 878c076ebdc6b..fd8403b07fa61 100644
---- a/drivers/i2c/busses/i2c-mv64xxx.c
-+++ b/drivers/i2c/busses/i2c-mv64xxx.c
-@@ -1084,7 +1084,7 @@ mv64xxx_i2c_probe(struct platform_device *pd)
- return rc;
- }
-
--static int
-+static void
- mv64xxx_i2c_remove(struct platform_device *pd)
- {
- struct mv64xxx_i2c_data *drv_data = platform_get_drvdata(pd);
-@@ -1094,8 +1094,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 = {
-@@ -1107,7 +1105,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,
-diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
-index e0f3b3545cfe4..1d76f1c4dc06a 100644
---- a/drivers/i2c/busses/i2c-mxs.c
-+++ b/drivers/i2c/busses/i2c-mxs.c
-@@ -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)
-diff --git a/drivers/i2c/busses/i2c-npcm7xx.c b/drivers/i2c/busses/i2c-npcm7xx.c
-index 38d5864d0cb5b..53b65ffb6a647 100644
---- a/drivers/i2c/busses/i2c-npcm7xx.c
-+++ b/drivers/i2c/busses/i2c-npcm7xx.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
-index 2e575856c5cd5..0742b84a11eb5 100644
---- a/drivers/i2c/busses/i2c-ocores.c
-+++ b/drivers/i2c/busses/i2c-ocores.c
-@@ -743,7 +743,7 @@ static int ocores_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-octeon-platdrv.c b/drivers/i2c/busses/i2c-octeon-platdrv.c
-index 0c227963c8d69..7d54b3203f716 100644
---- a/drivers/i2c/busses/i2c-octeon-platdrv.c
-+++ b/drivers/i2c/busses/i2c-octeon-platdrv.c
-@@ -253,12 +253,11 @@ static int octeon_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
-index 4199f57a6bf29..58fd6fa3edf14 100644
---- a/drivers/i2c/busses/i2c-omap.c
-+++ b/drivers/i2c/busses/i2c-omap.c
-@@ -1519,7 +1519,7 @@ omap_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-opal.c b/drivers/i2c/busses/i2c-opal.c
-index 9f773b4f5ed8e..17ef87d50f7c7 100644
---- a/drivers/i2c/busses/i2c-opal.c
-+++ b/drivers/i2c/busses/i2c-opal.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-pasemi-platform.c b/drivers/i2c/busses/i2c-pasemi-platform.c
-index e35945a91dbef..0a44f64897c7a 100644
---- a/drivers/i2c/busses/i2c-pasemi-platform.c
-+++ b/drivers/i2c/busses/i2c-pasemi-platform.c
-@@ -98,12 +98,11 @@ static int pasemi_platform_i2c_probe(struct platform_device *pdev)
- 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);
-
-diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
-index 86d4f75ef8d3f..d2a9e7b61c1ab 100644
---- a/drivers/i2c/busses/i2c-pca-platform.c
-+++ b/drivers/i2c/busses/i2c-pca-platform.c
-@@ -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),
-diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
-index 50f21cdbe90d3..82400057f810a 100644
---- a/drivers/i2c/busses/i2c-pnx.c
-+++ b/drivers/i2c/busses/i2c-pnx.c
-@@ -743,14 +743,12 @@ static int i2c_pnx_probe(struct platform_device *pdev)
- 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)
-diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c
-index ec706a3aba26c..4996a628fdae1 100644
---- a/drivers/i2c/busses/i2c-powermac.c
-+++ b/drivers/i2c/busses/i2c-powermac.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
-index f9fa5308556b7..937f7eebe9067 100644
---- a/drivers/i2c/busses/i2c-pxa.c
-+++ b/drivers/i2c/busses/i2c-pxa.c
-@@ -1482,15 +1482,13 @@ static int i2c_pxa_probe(struct platform_device *dev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-qcom-cci.c b/drivers/i2c/busses/i2c-qcom-cci.c
-index 01358472680c4..58860014e0681 100644
---- a/drivers/i2c/busses/i2c-qcom-cci.c
-+++ b/drivers/i2c/busses/i2c-qcom-cci.c
-@@ -675,7 +675,7 @@ static int cci_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
-index 83909b02a03ee..b670a67c4fdd0 100644
---- a/drivers/i2c/busses/i2c-qcom-geni.c
-+++ b/drivers/i2c/busses/i2c-qcom-geni.c
-@@ -936,14 +936,13 @@ static int geni_i2c_probe(struct platform_device *pdev)
- 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",
-diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
-index 78682388e02ed..ae90170023b00 100644
---- a/drivers/i2c/busses/i2c-qup.c
-+++ b/drivers/i2c/busses/i2c-qup.c
-@@ -1911,7 +1911,7 @@ static int qup_i2c_probe(struct platform_device *pdev)
- 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);
-
-@@ -1925,7 +1925,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
-@@ -1985,7 +1984,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,
-diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
-index cef82b205c261..2d9c37410ebd0 100644
---- a/drivers/i2c/busses/i2c-rcar.c
-+++ b/drivers/i2c/busses/i2c-rcar.c
-@@ -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);
-diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
-index 849848ccb0802..5f8c0bd508d2f 100644
---- a/drivers/i2c/busses/i2c-riic.c
-+++ b/drivers/i2c/busses/i2c-riic.c
-@@ -477,7 +477,7 @@ static int riic_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
-index b31cf4f18f854..a044ca0c35a19 100644
---- a/drivers/i2c/busses/i2c-rk3x.c
-+++ b/drivers/i2c/busses/i2c-rk3x.c
-@@ -1372,7 +1372,7 @@ static int rk3x_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-rzv2m.c b/drivers/i2c/busses/i2c-rzv2m.c
-index 56d0faee5c46e..dee9b6e655c56 100644
---- a/drivers/i2c/busses/i2c-rzv2m.c
-+++ b/drivers/i2c/busses/i2c-rzv2m.c
-@@ -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);
-
-diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
-index 45e9df81345a1..28f0e5c64f32e 100644
---- a/drivers/i2c/busses/i2c-s3c2410.c
-+++ b/drivers/i2c/busses/i2c-s3c2410.c
-@@ -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",
-diff --git a/drivers/i2c/busses/i2c-scmi.c b/drivers/i2c/busses/i2c-scmi.c
-index 0239e134b90f4..1045702922413 100644
---- a/drivers/i2c/busses/i2c-scmi.c
-+++ b/drivers/i2c/busses/i2c-scmi.c
-@@ -404,19 +404,17 @@ static int smbus_cmi_probe(struct platform_device *device)
- 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,
-diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
-index 319d1fa617c88..60efa3a5e6756 100644
---- a/drivers/i2c/busses/i2c-sh7760.c
-+++ b/drivers/i2c/busses/i2c-sh7760.c
-@@ -536,7 +536,7 @@ static int sh7760_i2c_probe(struct platform_device *pdev)
- 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);
-diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
-index 29330ee64c9c0..21717b943a9e0 100644
---- a/drivers/i2c/busses/i2c-sh_mobile.c
-+++ b/drivers/i2c/busses/i2c-sh_mobile.c
-@@ -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)
-diff --git a/drivers/i2c/busses/i2c-simtec.c b/drivers/i2c/busses/i2c-simtec.c
-index 87701744752fb..18516bc64e046 100644
---- a/drivers/i2c/busses/i2c-simtec.c
-+++ b/drivers/i2c/busses/i2c-simtec.c
-@@ -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);
-diff --git a/drivers/i2c/busses/i2c-st.c b/drivers/i2c/busses/i2c-st.c
-index f823913b75a6f..25c3521cae0e3 100644
---- a/drivers/i2c/busses/i2c-st.c
-+++ b/drivers/i2c/busses/i2c-st.c
-@@ -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);
-diff --git a/drivers/i2c/busses/i2c-stm32f4.c b/drivers/i2c/busses/i2c-stm32f4.c
-index eebce7ecef25b..6ad06a5a22b43 100644
---- a/drivers/i2c/busses/i2c-stm32f4.c
-+++ b/drivers/i2c/busses/i2c-stm32f4.c
-@@ -861,15 +861,13 @@ static int stm32f4_i2c_probe(struct platform_device *pdev)
- 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);
-diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
-index d1c59d83a65b9..e897d9101434d 100644
---- a/drivers/i2c/busses/i2c-stm32f7.c
-+++ b/drivers/i2c/busses/i2c-stm32f7.c
-@@ -2309,7 +2309,7 @@ static int stm32f7_i2c_probe(struct platform_device *pdev)
- 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);
-diff --git a/drivers/i2c/busses/i2c-sun6i-p2wi.c b/drivers/i2c/busses/i2c-sun6i-p2wi.c
-index 9e3483f507ff5..3cff1afe0caa2 100644
---- a/drivers/i2c/busses/i2c-sun6i-p2wi.c
-+++ b/drivers/i2c/busses/i2c-sun6i-p2wi.c
-@@ -313,20 +313,18 @@ static int p2wi_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-synquacer.c b/drivers/i2c/busses/i2c-synquacer.c
-index 50d19cf99a03a..4cc196ca8f6dc 100644
---- a/drivers/i2c/busses/i2c-synquacer.c
-+++ b/drivers/i2c/busses/i2c-synquacer.c
-@@ -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),
-diff --git a/drivers/i2c/busses/i2c-tegra-bpmp.c b/drivers/i2c/busses/i2c-tegra-bpmp.c
-index 95139985b2d5e..bc3f94561746e 100644
---- a/drivers/i2c/busses/i2c-tegra-bpmp.c
-+++ b/drivers/i2c/busses/i2c-tegra-bpmp.c
-@@ -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);
-
-diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
-index 157066f06a32d..a82d264bf73df 100644
---- a/drivers/i2c/busses/i2c-tegra.c
-+++ b/drivers/i2c/busses/i2c-tegra.c
-@@ -1868,7 +1868,7 @@ static int tegra_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-uniphier-f.c b/drivers/i2c/busses/i2c-uniphier-f.c
-index d7b622891e52d..54b1624ef87ea 100644
---- a/drivers/i2c/busses/i2c-uniphier-f.c
-+++ b/drivers/i2c/busses/i2c-uniphier-f.c
-@@ -586,14 +586,12 @@ static int uniphier_fi2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-uniphier.c b/drivers/i2c/busses/i2c-uniphier.c
-index e3ebae381f08a..96b1eb7489a3c 100644
---- a/drivers/i2c/busses/i2c-uniphier.c
-+++ b/drivers/i2c/busses/i2c-uniphier.c
-@@ -380,14 +380,12 @@ static int uniphier_i2c_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
-index 1ab419f8fa527..0a866456db586 100644
---- a/drivers/i2c/busses/i2c-versatile.c
-+++ b/drivers/i2c/busses/i2c-versatile.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-viperboard.c b/drivers/i2c/busses/i2c-viperboard.c
-index 8b5322c3bce0e..9e153b5b0e8e4 100644
---- a/drivers/i2c/busses/i2c-viperboard.c
-+++ b/drivers/i2c/busses/i2c-viperboard.c
-@@ -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)
-diff --git a/drivers/i2c/busses/i2c-wmt.c b/drivers/i2c/busses/i2c-wmt.c
-index 7d4bc87360793..736acaa538d26 100644
---- a/drivers/i2c/busses/i2c-wmt.c
-+++ b/drivers/i2c/busses/i2c-wmt.c
-@@ -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,
-diff --git a/drivers/i2c/busses/i2c-xgene-slimpro.c b/drivers/i2c/busses/i2c-xgene-slimpro.c
-index 3538d36368a90..fbc1ffbd2fa7d 100644
---- a/drivers/i2c/busses/i2c-xgene-slimpro.c
-+++ b/drivers/i2c/busses/i2c-xgene-slimpro.c
-@@ -560,7 +560,7 @@ static int xgene_slimpro_i2c_probe(struct platform_device *pdev)
- 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),
-diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
-index 8a3d9817cb41c..61288f8dd0672 100644
---- a/drivers/i2c/busses/i2c-xiic.c
-+++ b/drivers/i2c/busses/i2c-xiic.c
-@@ -1335,7 +1335,7 @@ static int xiic_i2c_probe(struct platform_device *pdev)
- 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),
-diff --git a/drivers/i2c/busses/i2c-xlp9xx.c b/drivers/i2c/busses/i2c-xlp9xx.c
-index 4e3b11c0f7325..f59e8c544f366 100644
---- a/drivers/i2c/busses/i2c-xlp9xx.c
-+++ b/drivers/i2c/busses/i2c-xlp9xx.c
-@@ -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),
-diff --git a/drivers/i2c/busses/scx200_acb.c b/drivers/i2c/busses/scx200_acb.c
-index 7b42a18bd05c2..83c1db610f54b 100644
---- a/drivers/i2c/busses/scx200_acb.c
-+++ b/drivers/i2c/busses/scx200_acb.c
-@@ -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[] = {
-diff --git a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
-index 1c78657631f4f..24168e9f7df4c 100644
---- a/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
-+++ b/drivers/i2c/muxes/i2c-arb-gpio-challenge.c
-@@ -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,
-diff --git a/drivers/i2c/muxes/i2c-demux-pinctrl.c b/drivers/i2c/muxes/i2c-demux-pinctrl.c
-index f7a7405d4350a..a3a122fae71e0 100644
---- a/drivers/i2c/muxes/i2c-demux-pinctrl.c
-+++ b/drivers/i2c/muxes/i2c-demux-pinctrl.c
-@@ -282,7 +282,7 @@ static int i2c_demux_pinctrl_probe(struct platform_device *pdev)
- 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);
-
-diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
-index 73a23e117ebec..5d5cbe0130cdf 100644
---- a/drivers/i2c/muxes/i2c-mux-gpio.c
-+++ b/drivers/i2c/muxes/i2c-mux-gpio.c
-@@ -225,14 +225,12 @@ static int i2c_mux_gpio_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/muxes/i2c-mux-gpmux.c b/drivers/i2c/muxes/i2c-mux-gpmux.c
-index 33024acaac02b..0405af0e15104 100644
---- a/drivers/i2c/muxes/i2c-mux-gpmux.c
-+++ b/drivers/i2c/muxes/i2c-mux-gpmux.c
-@@ -142,19 +142,17 @@ static int i2c_mux_probe(struct platform_device *pdev)
- 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,
-diff --git a/drivers/i2c/muxes/i2c-mux-mlxcpld.c b/drivers/i2c/muxes/i2c-mux-mlxcpld.c
-index 1a879f6a31efd..3dda00f1df78d 100644
---- a/drivers/i2c/muxes/i2c-mux-mlxcpld.c
-+++ b/drivers/i2c/muxes/i2c-mux-mlxcpld.c
-@@ -170,12 +170,11 @@ static int mlxcpld_mux_probe(struct platform_device *pdev)
- 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);
-diff --git a/drivers/i2c/muxes/i2c-mux-pinctrl.c b/drivers/i2c/muxes/i2c-mux-pinctrl.c
-index d5ad904756fdf..18236b9fa14a9 100644
---- a/drivers/i2c/muxes/i2c-mux-pinctrl.c
-+++ b/drivers/i2c/muxes/i2c-mux-pinctrl.c
-@@ -166,14 +166,12 @@ static int i2c_mux_pinctrl_probe(struct platform_device *pdev)
- 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);
-
-diff --git a/drivers/i2c/muxes/i2c-mux-reg.c b/drivers/i2c/muxes/i2c-mux-reg.c
-index 30a6de1694e07..9efc1ed01577b 100644
---- a/drivers/i2c/muxes/i2c-mux-reg.c
-+++ b/drivers/i2c/muxes/i2c-mux-reg.c
-@@ -233,14 +233,12 @@ static int i2c_mux_reg_probe(struct platform_device *pdev)
- 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),
---
-2.39.2
-