ASoC: uniphier: Make uniphier_aio_remove() return void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 13 Oct 2023 22:19:53 +0000 (00:19 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 23 Oct 2023 12:29:48 +0000 (13:29 +0100)
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.

uniphier_aio_remove() returned zero unconditionally.  Make it return
void instead and convert all users to struct
platform_device::remove_new().

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20231013221945.1489203-16-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/uniphier/aio-cpu.c
sound/soc/uniphier/aio-ld11.c
sound/soc/uniphier/aio-pxs2.c
sound/soc/uniphier/aio.h

index 7c5188477b7c90c4667dbc89eec7c4dd151f8d28..470f129166a4c4bea90eebc9154d8f0bf8939d3c 100644 (file)
@@ -822,14 +822,12 @@ err_out_clock:
 }
 EXPORT_SYMBOL_GPL(uniphier_aio_probe);
 
-int uniphier_aio_remove(struct platform_device *pdev)
+void uniphier_aio_remove(struct platform_device *pdev)
 {
        struct uniphier_aio_chip *chip = platform_get_drvdata(pdev);
 
        reset_control_assert(chip->rst);
        clk_disable_unprepare(chip->clk);
-
-       return 0;
 }
 EXPORT_SYMBOL_GPL(uniphier_aio_remove);
 
index 15dbded6380432c80548e7ae4b721ce66f6f1f88..01cc3b961999df3a91ae7594f62d4565e3723325 100644 (file)
@@ -347,7 +347,7 @@ static struct platform_driver uniphier_aio_driver = {
                .of_match_table = of_match_ptr(uniphier_aio_of_match),
        },
        .probe    = uniphier_aio_probe,
-       .remove   = uniphier_aio_remove,
+       .remove_new = uniphier_aio_remove,
 };
 module_platform_driver(uniphier_aio_driver);
 
index 305cb2a1253dac14261307befbe2b30719b0e209..fba13a212bdb966954cc40b287c03e854b6dd533 100644 (file)
@@ -256,7 +256,7 @@ static struct platform_driver uniphier_aio_driver = {
                .of_match_table = of_match_ptr(uniphier_aio_of_match),
        },
        .probe    = uniphier_aio_probe,
-       .remove   = uniphier_aio_remove,
+       .remove_new = uniphier_aio_remove,
 };
 module_platform_driver(uniphier_aio_driver);
 
index 09ccb47337fd01dd80c61fa508b44963ed90433b..d9fd61dd976f4bc2a07a57aa6c18a9b49f01416f 100644 (file)
@@ -307,7 +307,7 @@ int uniphier_aiodma_soc_register_platform(struct platform_device *pdev);
 extern const struct snd_compress_ops uniphier_aio_compress_ops;
 
 int uniphier_aio_probe(struct platform_device *pdev);
-int uniphier_aio_remove(struct platform_device *pdev);
+void uniphier_aio_remove(struct platform_device *pdev);
 extern const struct snd_soc_dai_ops uniphier_aio_i2s_ld11_ops;
 extern const struct snd_soc_dai_ops uniphier_aio_i2s_pxs2_ops;
 extern const struct snd_soc_dai_ops uniphier_aio_spdif_ld11_ops;