[PATCH 5/7] ASoC: meson: Make meson_card_remove() return void
Jerome Brunet
jbrunet at baylibre.com
Tue Oct 17 07:40:41 PDT 2023
On Sat 14 Oct 2023 at 00:19, Uwe Kleine-König <u.kleine-koenig at pengutronix.de> wrote:
> 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.
>
> meson_card_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 at pengutronix.de>
Reviewed-by: Jerome Brunet <jbrunet at baylibre.com>
> ---
> sound/soc/meson/axg-card.c | 2 +-
> sound/soc/meson/gx-card.c | 2 +-
> sound/soc/meson/meson-card-utils.c | 4 +---
> sound/soc/meson/meson-card.h | 2 +-
> 4 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/sound/soc/meson/axg-card.c b/sound/soc/meson/axg-card.c
> index 18b16274449e..3180aa4d3a15 100644
> --- a/sound/soc/meson/axg-card.c
> +++ b/sound/soc/meson/axg-card.c
> @@ -360,7 +360,7 @@ MODULE_DEVICE_TABLE(of, axg_card_of_match);
>
> static struct platform_driver axg_card_pdrv = {
> .probe = meson_card_probe,
> - .remove = meson_card_remove,
> + .remove_new = meson_card_remove,
> .driver = {
> .name = "axg-sound-card",
> .of_match_table = axg_card_of_match,
> diff --git a/sound/soc/meson/gx-card.c b/sound/soc/meson/gx-card.c
> index 01beac1d927f..f1539e542638 100644
> --- a/sound/soc/meson/gx-card.c
> +++ b/sound/soc/meson/gx-card.c
> @@ -130,7 +130,7 @@ MODULE_DEVICE_TABLE(of, gx_card_of_match);
>
> static struct platform_driver gx_card_pdrv = {
> .probe = meson_card_probe,
> - .remove = meson_card_remove,
> + .remove_new = meson_card_remove,
> .driver = {
> .name = "gx-sound-card",
> .of_match_table = gx_card_of_match,
> diff --git a/sound/soc/meson/meson-card-utils.c b/sound/soc/meson/meson-card-utils.c
> index c81099218597..ed6c7e2f609c 100644
> --- a/sound/soc/meson/meson-card-utils.c
> +++ b/sound/soc/meson/meson-card-utils.c
> @@ -327,13 +327,11 @@ int meson_card_probe(struct platform_device *pdev)
> }
> EXPORT_SYMBOL_GPL(meson_card_probe);
>
> -int meson_card_remove(struct platform_device *pdev)
> +void meson_card_remove(struct platform_device *pdev)
> {
> struct meson_card *priv = platform_get_drvdata(pdev);
>
> meson_card_clean_references(priv);
> -
> - return 0;
> }
> EXPORT_SYMBOL_GPL(meson_card_remove);
>
> diff --git a/sound/soc/meson/meson-card.h b/sound/soc/meson/meson-card.h
> index a5374324a189..a0d693e4f460 100644
> --- a/sound/soc/meson/meson-card.h
> +++ b/sound/soc/meson/meson-card.h
> @@ -49,6 +49,6 @@ int meson_card_set_fe_link(struct snd_soc_card *card,
> bool is_playback);
>
> int meson_card_probe(struct platform_device *pdev);
> -int meson_card_remove(struct platform_device *pdev);
> +void meson_card_remove(struct platform_device *pdev);
>
> #endif /* _MESON_SND_CARD_H */
More information about the linux-amlogic
mailing list