Dne torek, 19. september 2023 ob 19:49:06 CEST je Uwe Kleine-König napisal(a): > 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@xxxxxxxxxxxxxx> Acked-by: Jernej Skrabec <jernej.skrabec@xxxxxxxxx> Best regards, Jernej > --- > drivers/iio/adc/sun4i-gpadc-iio.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/adc/sun4i-gpadc-iio.c > b/drivers/iio/adc/sun4i-gpadc-iio.c index 25bba96367a8..100ecced5fc1 100644 > --- a/drivers/iio/adc/sun4i-gpadc-iio.c > +++ b/drivers/iio/adc/sun4i-gpadc-iio.c > @@ -669,7 +669,7 @@ static int sun4i_gpadc_probe(struct platform_device > *pdev) return ret; > } > > -static int sun4i_gpadc_remove(struct platform_device *pdev) > +static void sun4i_gpadc_remove(struct platform_device *pdev) > { > struct iio_dev *indio_dev = platform_get_drvdata(pdev); > struct sun4i_gpadc_iio *info = iio_priv(indio_dev); > @@ -678,12 +678,10 @@ static int sun4i_gpadc_remove(struct platform_device > *pdev) pm_runtime_disable(&pdev->dev); > > if (!IS_ENABLED(CONFIG_THERMAL_OF)) > - return 0; > + return; > > if (!info->no_irq) > iio_map_array_unregister(indio_dev); > - > - return 0; > } > > static const struct platform_device_id sun4i_gpadc_id[] = { > @@ -702,7 +700,7 @@ static struct platform_driver sun4i_gpadc_driver = { > }, > .id_table = sun4i_gpadc_id, > .probe = sun4i_gpadc_probe, > - .remove = sun4i_gpadc_remove, > + .remove_new = sun4i_gpadc_remove, > }; > MODULE_DEVICE_TABLE(of, sun4i_gpadc_of_id);