media: chips-media: wave5: Convert to platform remove callback returning void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 23 Feb 2024 12:59:04 +0000 (13:59 +0100)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 28 Feb 2024 07:44:53 +0000 (08:44 +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 ignored (apart
from emitting a warning) 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. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

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

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/platform/chips-media/wave5/wave5-vpu.c

index 0d90b5820bef7286694129ec0c4ed4f436d399b2..1b3df5b04249ae0e7ac606b9da0f40df1c8ea90d 100644 (file)
@@ -250,7 +250,7 @@ err_clk_dis:
        return ret;
 }
 
-static int wave5_vpu_remove(struct platform_device *pdev)
+static void wave5_vpu_remove(struct platform_device *pdev)
 {
        struct vpu_device *dev = dev_get_drvdata(&pdev->dev);
 
@@ -262,8 +262,6 @@ static int wave5_vpu_remove(struct platform_device *pdev)
        v4l2_device_unregister(&dev->v4l2_dev);
        wave5_vdi_release(&pdev->dev);
        ida_destroy(&dev->inst_ida);
-
-       return 0;
 }
 
 static const struct wave5_match_data ti_wave521c_data = {
@@ -283,7 +281,7 @@ static struct platform_driver wave5_vpu_driver = {
                .of_match_table = of_match_ptr(wave5_dt_ids),
                },
        .probe = wave5_vpu_probe,
-       .remove = wave5_vpu_remove,
+       .remove_new = wave5_vpu_remove,
 };
 
 module_platform_driver(wave5_vpu_driver);