]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
amba: Make the remove callback return void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 26 Jan 2021 16:58:34 +0000 (17:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:40:02 +0000 (14:40 +0200)
[ Upstream commit 3fd269e74f2feec973f45ee11d822faeda4fe284 ]

All amba drivers return 0 in their remove callback. Together with the
driver core ignoring the return value anyhow, it doesn't make sense to
return a value here.

Change the remove prototype to return void, which makes it explicit that
returning an error value doesn't work as expected. This simplifies changing
the core remove callback to return void, too.

Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org> # for drivers/memory
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com> # for hwtracing/coresight
Acked-By: Vinod Koul <vkoul@kernel.org> # for dmaengine
Acked-by: Guenter Roeck <linux@roeck-us.net> # for watchdog
Acked-by: Wolfram Sang <wsa@kernel.org> # for I2C
Acked-by: Takashi Iwai <tiwai@suse.de> # for sound
Acked-by: Vladimir Zapolskiy <vz@mleia.com> # for memory/pl172
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20210126165835.687514-5-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
30 files changed:
drivers/amba/bus.c
drivers/char/hw_random/nomadik-rng.c
drivers/dma/pl330.c
drivers/gpu/drm/pl111/pl111_drv.c
drivers/hwtracing/coresight/coresight-catu.c
drivers/hwtracing/coresight/coresight-cpu-debug.c
drivers/hwtracing/coresight/coresight-cti-core.c
drivers/hwtracing/coresight/coresight-etb10.c
drivers/hwtracing/coresight/coresight-etm3x-core.c
drivers/hwtracing/coresight/coresight-etm4x-core.c
drivers/hwtracing/coresight/coresight-funnel.c
drivers/hwtracing/coresight/coresight-replicator.c
drivers/hwtracing/coresight/coresight-stm.c
drivers/hwtracing/coresight/coresight-tmc-core.c
drivers/hwtracing/coresight/coresight-tpiu.c
drivers/i2c/busses/i2c-nomadik.c
drivers/input/serio/ambakmi.c
drivers/memory/pl172.c
drivers/memory/pl353-smc.c
drivers/mmc/host/mmci.c
drivers/rtc/rtc-pl030.c
drivers/rtc/rtc-pl031.c
drivers/spi/spi-pl022.c
drivers/tty/serial/amba-pl010.c
drivers/tty/serial/amba-pl011.c
drivers/vfio/platform/vfio_amba.c
drivers/video/fbdev/amba-clcd.c
drivers/watchdog/sp805_wdt.c
include/linux/amba/bus.h
sound/arm/aaci.c

index 8f4ae6e967e3925538b6d747df2d6394b4a76633..47c72447ccd5948280b511db47faaa039921ff58 100644 (file)
@@ -299,11 +299,10 @@ static int amba_remove(struct device *dev)
 {
        struct amba_device *pcdev = to_amba_device(dev);
        struct amba_driver *drv = to_amba_driver(dev->driver);
-       int ret = 0;
 
        pm_runtime_get_sync(dev);
        if (drv->remove)
-               ret = drv->remove(pcdev);
+               drv->remove(pcdev);
        pm_runtime_put_noidle(dev);
 
        /* Undo the runtime PM settings in amba_probe() */
@@ -314,7 +313,7 @@ static int amba_remove(struct device *dev)
        amba_put_disable_pclk(pcdev);
        dev_pm_domain_detach(dev, true);
 
-       return ret;
+       return 0;
 }
 
 static void amba_shutdown(struct device *dev)
index b0ded41eb865f56483c2fa80dbf7361832680b3c..67947a19aa225e8cd7b05622479452e8b5651bce 100644 (file)
@@ -69,11 +69,10 @@ out_clk:
        return ret;
 }
 
-static int nmk_rng_remove(struct amba_device *dev)
+static void nmk_rng_remove(struct amba_device *dev)
 {
        amba_release_regions(dev);
        clk_disable(rng_clk);
-       return 0;
 }
 
 static const struct amba_id nmk_rng_ids[] = {
index dfbf514188f3702cf9fbaa9fb9b90e5e580117c8..6dca548f4dab1bf71f579b7eb6e4f53bdf445cce 100644 (file)
@@ -3199,7 +3199,7 @@ probe_err2:
        return ret;
 }
 
-static int pl330_remove(struct amba_device *adev)
+static void pl330_remove(struct amba_device *adev)
 {
        struct pl330_dmac *pl330 = amba_get_drvdata(adev);
        struct dma_pl330_chan *pch, *_p;
@@ -3239,7 +3239,6 @@ static int pl330_remove(struct amba_device *adev)
 
        if (pl330->rstc)
                reset_control_assert(pl330->rstc);
-       return 0;
 }
 
 static const struct amba_id pl330_ids[] = {
index 46b0d1c4a16c65547092e7c60a49d3550f2cce5c..d5e8e3a8bff3ec198972f6cc6261b5322de20034 100644 (file)
@@ -324,7 +324,7 @@ dev_put:
        return ret;
 }
 
-static int pl111_amba_remove(struct amba_device *amba_dev)
+static void pl111_amba_remove(struct amba_device *amba_dev)
 {
        struct device *dev = &amba_dev->dev;
        struct drm_device *drm = amba_get_drvdata(amba_dev);
@@ -335,8 +335,6 @@ static int pl111_amba_remove(struct amba_device *amba_dev)
                drm_panel_bridge_remove(priv->bridge);
        drm_dev_put(drm);
        of_reserved_mem_device_release(dev);
-
-       return 0;
 }
 
 /*
index a61313f320bda220e54c41e7ef536edffb91474e..8e19e8cdcce5e735f946bf510a5dab2b45ed3e6d 100644 (file)
@@ -567,12 +567,11 @@ out:
        return ret;
 }
 
-static int catu_remove(struct amba_device *adev)
+static void catu_remove(struct amba_device *adev)
 {
        struct catu_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
        coresight_unregister(drvdata->csdev);
-       return 0;
 }
 
 static struct amba_id catu_ids[] = {
index e1d232411d8d753b992eccdcc70014d5356751fa..2dcf13de751fc2296ad5e0c26f8d8a92aaa2049e 100644 (file)
@@ -627,7 +627,7 @@ err:
        return ret;
 }
 
-static int debug_remove(struct amba_device *adev)
+static void debug_remove(struct amba_device *adev)
 {
        struct device *dev = &adev->dev;
        struct debug_drvdata *drvdata = amba_get_drvdata(adev);
@@ -642,8 +642,6 @@ static int debug_remove(struct amba_device *adev)
 
        if (!--debug_count)
                debug_func_exit();
-
-       return 0;
 }
 
 static const struct amba_cs_uci_id uci_id_debug[] = {
index 7ea93598f0eeafd00db4890961dd5cf28085e30c..0276700c246d59351c4792b09c19b5f793f1a2bc 100644 (file)
@@ -836,7 +836,7 @@ static void cti_device_release(struct device *dev)
        if (drvdata->csdev_release)
                drvdata->csdev_release(dev);
 }
-static int cti_remove(struct amba_device *adev)
+static void cti_remove(struct amba_device *adev)
 {
        struct cti_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -845,8 +845,6 @@ static int cti_remove(struct amba_device *adev)
        mutex_unlock(&ect_mutex);
 
        coresight_unregister(drvdata->csdev);
-
-       return 0;
 }
 
 static int cti_probe(struct amba_device *adev, const struct amba_id *id)
index 0cf6f0b947b6f8849d3732f9e0fa7a062e245323..51c801c05e5c30cac3e4f1b84bb79e01a5da4eb5 100644 (file)
@@ -803,7 +803,7 @@ err_misc_register:
        return ret;
 }
 
-static int etb_remove(struct amba_device *adev)
+static void etb_remove(struct amba_device *adev)
 {
        struct etb_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -814,8 +814,6 @@ static int etb_remove(struct amba_device *adev)
         */
        misc_deregister(&drvdata->miscdev);
        coresight_unregister(drvdata->csdev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
index 5bf5a5a4ce6d15265831afac116f193ca2ea4026..683a69e88efda89ab5e100d92a048a47c323181c 100644 (file)
@@ -909,7 +909,7 @@ static void clear_etmdrvdata(void *info)
        etmdrvdata[cpu] = NULL;
 }
 
-static int etm_remove(struct amba_device *adev)
+static void etm_remove(struct amba_device *adev)
 {
        struct etm_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -932,8 +932,6 @@ static int etm_remove(struct amba_device *adev)
        cpus_read_unlock();
 
        coresight_unregister(drvdata->csdev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
index 74d3e2fe43d4631dd5d4b62f59fd4aa950acbee1..99df453575f50d3cd81a92f3a4f7854e511eb6a4 100644 (file)
@@ -1582,7 +1582,7 @@ static void clear_etmdrvdata(void *info)
        etmdrvdata[cpu] = NULL;
 }
 
-static int etm4_remove(struct amba_device *adev)
+static void etm4_remove(struct amba_device *adev)
 {
        struct etmv4_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -1605,8 +1605,6 @@ static int etm4_remove(struct amba_device *adev)
        cpus_read_unlock();
 
        coresight_unregister(drvdata->csdev);
-
-       return 0;
 }
 
 static const struct amba_id etm4_ids[] = {
index 3fc6c678b51d8ebb1f9d60504d68feb2844189f4..b2fb853776d791721034ee9dff4f3134f0f74bf9 100644 (file)
@@ -370,9 +370,9 @@ static int dynamic_funnel_probe(struct amba_device *adev,
        return funnel_probe(&adev->dev, &adev->res);
 }
 
-static int dynamic_funnel_remove(struct amba_device *adev)
+static void dynamic_funnel_remove(struct amba_device *adev)
 {
-       return funnel_remove(&adev->dev);
+       funnel_remove(&adev->dev);
 }
 
 static const struct amba_id dynamic_funnel_ids[] = {
index 38008aca2c0f4b618168e8f231829c04d1d19d9f..da2bfeeabc1b48c3c79f4006aa66aba009798235 100644 (file)
@@ -388,9 +388,9 @@ static int dynamic_replicator_probe(struct amba_device *adev,
        return replicator_probe(&adev->dev, &adev->res);
 }
 
-static int dynamic_replicator_remove(struct amba_device *adev)
+static void dynamic_replicator_remove(struct amba_device *adev)
 {
-       return replicator_remove(&adev->dev);
+       replicator_remove(&adev->dev);
 }
 
 static const struct amba_id dynamic_replicator_ids[] = {
index 587c1d7f252081d4e24f63a45ac3caa85fe68a7c..0ecca9f93f3a1b9c8d814b76bd62619f2ca583db 100644 (file)
@@ -951,15 +951,13 @@ stm_unregister:
        return ret;
 }
 
-static int stm_remove(struct amba_device *adev)
+static void stm_remove(struct amba_device *adev)
 {
        struct stm_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
        coresight_unregister(drvdata->csdev);
 
        stm_unregister_device(&drvdata->stm);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
index 8169dff5a9f6a789552d61bf0db7f5bcc2c11185..e29b3914fc0ff14fbdeba40c2ad296d8fcfd3df4 100644 (file)
@@ -559,7 +559,7 @@ out:
        spin_unlock_irqrestore(&drvdata->spinlock, flags);
 }
 
-static int tmc_remove(struct amba_device *adev)
+static void tmc_remove(struct amba_device *adev)
 {
        struct tmc_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -570,8 +570,6 @@ static int tmc_remove(struct amba_device *adev)
         */
        misc_deregister(&drvdata->miscdev);
        coresight_unregister(drvdata->csdev);
-
-       return 0;
 }
 
 static const struct amba_id tmc_ids[] = {
index 5b35029461a0cb2605c3ff43f9d72f1a07c19dbe..0ca39d905d0b3d70decf54ede4780f40b8fc2e1a 100644 (file)
@@ -173,13 +173,11 @@ static int tpiu_probe(struct amba_device *adev, const struct amba_id *id)
        return PTR_ERR(drvdata->csdev);
 }
 
-static int tpiu_remove(struct amba_device *adev)
+static void tpiu_remove(struct amba_device *adev)
 {
        struct tpiu_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
        coresight_unregister(drvdata->csdev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
index d4b1b0865f6768b166693b4aa319981aca10ab16..a3363b20f168a458901d1eaeb1232d10169082db 100644 (file)
@@ -1055,7 +1055,7 @@ static int nmk_i2c_probe(struct amba_device *adev, const struct amba_id *id)
        return ret;
 }
 
-static int nmk_i2c_remove(struct amba_device *adev)
+static void nmk_i2c_remove(struct amba_device *adev)
 {
        struct resource *res = &adev->res;
        struct nmk_i2c_dev *dev = amba_get_drvdata(adev);
@@ -1068,8 +1068,6 @@ static int nmk_i2c_remove(struct amba_device *adev)
        i2c_clr_bit(dev->virtbase + I2C_CR, I2C_CR_PE);
        clk_disable_unprepare(dev->clk);
        release_mem_region(res->start, resource_size(res));
-
-       return 0;
 }
 
 static struct i2c_vendor_data vendor_stn8815 = {
index ecdeca147ed717c77615f89d9b3bf9126eae8669..4408245b61d2c6707bf136fc0d82a7e11795916a 100644 (file)
@@ -159,7 +159,7 @@ static int amba_kmi_probe(struct amba_device *dev,
        return ret;
 }
 
-static int amba_kmi_remove(struct amba_device *dev)
+static void amba_kmi_remove(struct amba_device *dev)
 {
        struct amba_kmi_port *kmi = amba_get_drvdata(dev);
 
@@ -168,7 +168,6 @@ static int amba_kmi_remove(struct amba_device *dev)
        iounmap(kmi->base);
        kfree(kmi);
        amba_release_regions(dev);
-       return 0;
 }
 
 static int __maybe_unused amba_kmi_resume(struct device *dev)
index 575fadbffa3062ec74af5bb3b9a4300e07281858..9eb8cc7de494a8d6d558e17f3ae519635abdf7bc 100644 (file)
@@ -273,14 +273,12 @@ err_clk_enable:
        return ret;
 }
 
-static int pl172_remove(struct amba_device *adev)
+static void pl172_remove(struct amba_device *adev)
 {
        struct pl172_data *pl172 = amba_get_drvdata(adev);
 
        clk_disable_unprepare(pl172->clk);
        amba_release_regions(adev);
-
-       return 0;
 }
 
 static const struct amba_id pl172_ids[] = {
index cc01979780d87eb04fffdaae933d5ecd240bac16..b0b251bb207f3a68d8a8f1969567ac1275f0ce0e 100644 (file)
@@ -427,14 +427,12 @@ out_clk_dis_aper:
        return err;
 }
 
-static int pl353_smc_remove(struct amba_device *adev)
+static void pl353_smc_remove(struct amba_device *adev)
 {
        struct pl353_smc_data *pl353_smc = amba_get_drvdata(adev);
 
        clk_disable_unprepare(pl353_smc->memclk);
        clk_disable_unprepare(pl353_smc->aclk);
-
-       return 0;
 }
 
 static const struct amba_id pl353_ids[] = {
index 9bde0def114b5714330632e5d7c08590accfd67b..b5684e5d79e60d3c67f18bf38353df68a4c01acc 100644 (file)
@@ -2203,7 +2203,7 @@ static int mmci_probe(struct amba_device *dev,
        return ret;
 }
 
-static int mmci_remove(struct amba_device *dev)
+static void mmci_remove(struct amba_device *dev)
 {
        struct mmc_host *mmc = amba_get_drvdata(dev);
 
@@ -2231,8 +2231,6 @@ static int mmci_remove(struct amba_device *dev)
                clk_disable_unprepare(host->clk);
                mmc_free_host(mmc);
        }
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
index ebe03eba8f5ffafa19823082cfe198e8ea658cdb..87c93843d62add93f09e048baa309b868564dbe5 100644 (file)
@@ -137,7 +137,7 @@ static int pl030_probe(struct amba_device *dev, const struct amba_id *id)
        return ret;
 }
 
-static int pl030_remove(struct amba_device *dev)
+static void pl030_remove(struct amba_device *dev)
 {
        struct pl030_rtc *rtc = amba_get_drvdata(dev);
 
@@ -146,8 +146,6 @@ static int pl030_remove(struct amba_device *dev)
        free_irq(dev->irq[0], rtc);
        iounmap(rtc->base);
        amba_release_regions(dev);
-
-       return 0;
 }
 
 static struct amba_id pl030_ids[] = {
index d4b2ab7861266e367ce87a590fb3f4fd8611318d..2f5581ea26fe152b16d374300b12db45d427bfa0 100644 (file)
@@ -280,7 +280,7 @@ static int pl031_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
        return 0;
 }
 
-static int pl031_remove(struct amba_device *adev)
+static void pl031_remove(struct amba_device *adev)
 {
        struct pl031_local *ldata = dev_get_drvdata(&adev->dev);
 
@@ -289,8 +289,6 @@ static int pl031_remove(struct amba_device *adev)
        if (adev->irq[0])
                free_irq(adev->irq[0], ldata);
        amba_release_regions(adev);
-
-       return 0;
 }
 
 static int pl031_probe(struct amba_device *adev, const struct amba_id *id)
index e4ee8b084799365eb7620f02d1f8c57379de893c..f7603c209e9d5fd89ce96d1006836e3d1d066813 100644 (file)
@@ -2315,13 +2315,13 @@ static int pl022_probe(struct amba_device *adev, const struct amba_id *id)
        return status;
 }
 
-static int
+static void
 pl022_remove(struct amba_device *adev)
 {
        struct pl022 *pl022 = amba_get_drvdata(adev);
 
        if (!pl022)
-               return 0;
+               return;
 
        /*
         * undo pm_runtime_put() in probe.  I assume that we're not
@@ -2336,7 +2336,6 @@ pl022_remove(struct amba_device *adev)
        clk_disable_unprepare(pl022->clk);
        amba_release_regions(adev);
        tasklet_disable(&pl022->pump_transfers);
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
index 75d61e038a77580ecaceebb529b00ba915f98465..e538d6d75155e4840c420f5bf2a2007dcd8e8891 100644 (file)
@@ -751,7 +751,7 @@ static int pl010_probe(struct amba_device *dev, const struct amba_id *id)
        return ret;
 }
 
-static int pl010_remove(struct amba_device *dev)
+static void pl010_remove(struct amba_device *dev)
 {
        struct uart_amba_port *uap = amba_get_drvdata(dev);
        int i;
@@ -767,8 +767,6 @@ static int pl010_remove(struct amba_device *dev)
 
        if (!busy)
                uart_unregister_driver(&amba_reg);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
index 61183e7ff00974dec599eb0d4f400bf80119ecf5..07b19e97f850d3663f0c4c869b8ecdad47e2a929 100644 (file)
@@ -2658,13 +2658,12 @@ static int pl011_probe(struct amba_device *dev, const struct amba_id *id)
        return pl011_register_port(uap);
 }
 
-static int pl011_remove(struct amba_device *dev)
+static void pl011_remove(struct amba_device *dev)
 {
        struct uart_amba_port *uap = amba_get_drvdata(dev);
 
        uart_remove_one_port(&amba_reg, &uap->port);
        pl011_unregister_port(uap);
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
index 7b3ebf1558e1109c1b71e3f20d5435c1d0a72885..3626c21501017e95163572fe8ee5cdb8a40bc75b 100644 (file)
@@ -71,14 +71,13 @@ static int vfio_amba_probe(struct amba_device *adev, const struct amba_id *id)
        return ret;
 }
 
-static int vfio_amba_remove(struct amba_device *adev)
+static void vfio_amba_remove(struct amba_device *adev)
 {
        struct vfio_platform_device *vdev =
                vfio_platform_remove_common(&adev->dev);
 
        kfree(vdev->name);
        kfree(vdev);
-       return 0;
 }
 
 static const struct amba_id pl330_ids[] = {
index b7682de412d83fd0e64152c5e301c57d26e5a19a..33595cc4778e9f18c83e2a482b55665f1609eaf8 100644 (file)
@@ -925,7 +925,7 @@ static int clcdfb_probe(struct amba_device *dev, const struct amba_id *id)
        return ret;
 }
 
-static int clcdfb_remove(struct amba_device *dev)
+static void clcdfb_remove(struct amba_device *dev)
 {
        struct clcd_fb *fb = amba_get_drvdata(dev);
 
@@ -942,8 +942,6 @@ static int clcdfb_remove(struct amba_device *dev)
        kfree(fb);
 
        amba_release_regions(dev);
-
-       return 0;
 }
 
 static const struct amba_id clcdfb_id_table[] = {
index 190d26e2e75f9e7a8c5bf2fd35fe4c202d9380f3..2815f78d22bb354afc6d7a2f73547d607c7b0406 100644 (file)
@@ -304,14 +304,12 @@ err:
        return ret;
 }
 
-static int sp805_wdt_remove(struct amba_device *adev)
+static void sp805_wdt_remove(struct amba_device *adev)
 {
        struct sp805_wdt *wdt = amba_get_drvdata(adev);
 
        watchdog_unregister_device(&wdt->wdd);
        watchdog_set_drvdata(&wdt->wdd, NULL);
-
-       return 0;
 }
 
 static int __maybe_unused sp805_wdt_suspend(struct device *dev)
index 0bbfd647f5c6dec3c12c52c621a94cf57975ebc5..6cc93ab5b8096d1def9ebd9256e45c08fa86d161 100644 (file)
@@ -76,7 +76,7 @@ struct amba_device {
 struct amba_driver {
        struct device_driver    drv;
        int                     (*probe)(struct amba_device *, const struct amba_id *);
-       int                     (*remove)(struct amba_device *);
+       void                    (*remove)(struct amba_device *);
        void                    (*shutdown)(struct amba_device *);
        const struct amba_id    *id_table;
 };
index a0996c47e58fee5b72da40163162ab895770758a..b326a5f5f0d53096a7109fa837c9fac32ed68373 100644 (file)
@@ -1055,7 +1055,7 @@ static int aaci_probe(struct amba_device *dev,
        return ret;
 }
 
-static int aaci_remove(struct amba_device *dev)
+static void aaci_remove(struct amba_device *dev)
 {
        struct snd_card *card = amba_get_drvdata(dev);
 
@@ -1066,8 +1066,6 @@ static int aaci_remove(struct amba_device *dev)
                snd_card_free(card);
                amba_release_regions(dev);
        }
-
-       return 0;
 }
 
 static struct amba_id aaci_ids[] = {