mmc: Convert to platform remove callback returning void
authorYangtao Li <frank.li@vivo.com>
Thu, 27 Jul 2023 07:00:46 +0000 (15:00 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 15 Aug 2023 10:48:21 +0000 (12:48 +0200)
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.

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

Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Yangtao Li <frank.li@vivo.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> # Broadcom
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20230727070051.17778-57-frank.li@vivo.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-bcm-kona.c
drivers/mmc/host/sdhci-brcmstb.c
drivers/mmc/host/sdhci-cadence.c
drivers/mmc/host/sdhci-dove.c
drivers/mmc/host/sdhci-iproc.c
drivers/mmc/host/sdhci-of-esdhc.c
drivers/mmc/host/sdhci-of-hlwd.c
drivers/mmc/host/sdhci-of-sparx5.c
drivers/mmc/host/sdhci-pltfm.c
drivers/mmc/host/sdhci-pltfm.h
drivers/mmc/host/sdhci-pxav2.c

index ef1fb383e1e70ce11c99e72b08442d8400cb30bc..02bb871e838face4fc953d5280f9f01fe11da592 100644 (file)
@@ -318,7 +318,7 @@ static struct platform_driver sdhci_bcm_kona_driver = {
                .of_match_table = sdhci_bcm_kona_of_match,
        },
        .probe          = sdhci_bcm_kona_probe,
-       .remove         = sdhci_pltfm_unregister,
+       .remove_new     = sdhci_pltfm_unregister,
 };
 module_platform_driver(sdhci_bcm_kona_driver);
 
index 4c22337199cf104d17fb6be78516bb26166028f4..a2b6d8f2eeb67b4a284050c290049ef136af3757 100644 (file)
@@ -430,7 +430,7 @@ static struct platform_driver sdhci_brcmstb_driver = {
                .of_match_table = of_match_ptr(sdhci_brcm_of_match),
        },
        .probe          = sdhci_brcmstb_probe,
-       .remove         = sdhci_pltfm_unregister,
+       .remove_new     = sdhci_pltfm_unregister,
        .shutdown       = sdhci_brcmstb_shutdown,
 };
 
index 25d9849ef0d15de26b6892dc281008429b74e8b5..8cdc178ec1ba061a9dd33428667fad5933d61a13 100644 (file)
@@ -617,7 +617,7 @@ static struct platform_driver sdhci_cdns_driver = {
                .of_match_table = sdhci_cdns_match,
        },
        .probe = sdhci_cdns_probe,
-       .remove = sdhci_pltfm_unregister,
+       .remove_new = sdhci_pltfm_unregister,
 };
 module_platform_driver(sdhci_cdns_driver);
 
index 5e5bf82e597638f8152ad146b1dc0ebd5f9cdbf9..75335dbf223c03cb513fff1e6fb401b591e65229 100644 (file)
@@ -110,7 +110,7 @@ static struct platform_driver sdhci_dove_driver = {
                .of_match_table = sdhci_dove_of_match_table,
        },
        .probe          = sdhci_dove_probe,
-       .remove         = sdhci_pltfm_unregister,
+       .remove_new     = sdhci_pltfm_unregister,
 };
 
 module_platform_driver(sdhci_dove_driver);
index 6a93b1ee0b3004e15ad0eacc925d606509e0cd4c..b1547bcbec32c2acf063b7e032d2f1c7d1f3643d 100644 (file)
@@ -432,7 +432,7 @@ static struct platform_driver sdhci_iproc_driver = {
                .pm = &sdhci_pltfm_pmops,
        },
        .probe = sdhci_iproc_probe,
-       .remove = sdhci_pltfm_unregister,
+       .remove_new = sdhci_pltfm_unregister,
        .shutdown = sdhci_iproc_shutdown,
 };
 module_platform_driver(sdhci_iproc_driver);
index 48ca1cf15b199e0f8da166128eaa04d964ef7e3d..5072b59f616502d68438aa5ee0aeeab142ae2134 100644 (file)
@@ -1521,7 +1521,7 @@ static struct platform_driver sdhci_esdhc_driver = {
                .pm = &esdhc_of_dev_pm_ops,
        },
        .probe = sdhci_esdhc_probe,
-       .remove = sdhci_pltfm_unregister,
+       .remove_new = sdhci_pltfm_unregister,
 };
 
 module_platform_driver(sdhci_esdhc_driver);
index 12675797b2960b3f740b0a4b8fcca6e0911de34a..cba3ba48e9dc82e65ef3acdd3caba3c97a9f8753 100644 (file)
@@ -85,7 +85,7 @@ static struct platform_driver sdhci_hlwd_driver = {
                .pm = &sdhci_pltfm_pmops,
        },
        .probe = sdhci_hlwd_probe,
-       .remove = sdhci_pltfm_unregister,
+       .remove_new = sdhci_pltfm_unregister,
 };
 
 module_platform_driver(sdhci_hlwd_driver);
index 2e983cf49bc6e149febe5b3ce32c9c039c5922c0..653480dbe6bb859cc9a759acb1f665dfdef65cf2 100644 (file)
@@ -260,7 +260,7 @@ static struct platform_driver sdhci_sparx5_driver = {
                .pm = &sdhci_pltfm_pmops,
        },
        .probe = sdhci_sparx5_probe,
-       .remove = sdhci_pltfm_unregister,
+       .remove_new = sdhci_pltfm_unregister,
 };
 
 module_platform_driver(sdhci_sparx5_driver);
index 673e750a8490f12ca8259ef897a983cfeee360bc..72d07b49b0a38b1991a61e930ca76e2472303933 100644 (file)
@@ -187,7 +187,7 @@ int sdhci_pltfm_register(struct platform_device *pdev,
 }
 EXPORT_SYMBOL_GPL(sdhci_pltfm_register);
 
-int sdhci_pltfm_unregister(struct platform_device *pdev)
+void sdhci_pltfm_unregister(struct platform_device *pdev)
 {
        struct sdhci_host *host = platform_get_drvdata(pdev);
        struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
@@ -196,8 +196,6 @@ int sdhci_pltfm_unregister(struct platform_device *pdev)
        sdhci_remove_host(host, dead);
        clk_disable_unprepare(pltfm_host->clk);
        sdhci_pltfm_free(pdev);
-
-       return 0;
 }
 EXPORT_SYMBOL_GPL(sdhci_pltfm_unregister);
 
index 9bd717ff784be7775fdd31dd9e412799ee7e68f0..6e6a443dafd94ee3a42a4ad6de5b28f5769dc051 100644 (file)
@@ -102,7 +102,7 @@ extern void sdhci_pltfm_free(struct platform_device *pdev);
 extern int sdhci_pltfm_register(struct platform_device *pdev,
                                const struct sdhci_pltfm_data *pdata,
                                size_t priv_size);
-extern int sdhci_pltfm_unregister(struct platform_device *pdev);
+extern void sdhci_pltfm_unregister(struct platform_device *pdev);
 
 extern unsigned int sdhci_pltfm_clk_get_max_clock(struct sdhci_host *host);
 
index 86b60b0447b376169606ab4f37a8bde9641801a3..a0c8470e9214a5409b2cc3469aa65e94c350b130 100644 (file)
@@ -358,7 +358,7 @@ static struct platform_driver sdhci_pxav2_driver = {
                .pm     = &sdhci_pltfm_pmops,
        },
        .probe          = sdhci_pxav2_probe,
-       .remove         = sdhci_pltfm_unregister,
+       .remove_new     = sdhci_pltfm_unregister,
 };
 
 module_platform_driver(sdhci_pxav2_driver);