Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: adc: twl4030-madc: Convert to platform remove callback returning void

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>
Link: https://lore.kernel.org/r/20230919174931.1417681-27-u.kleine-koenig@pengutronix.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Uwe Kleine-König and committed by
Jonathan Cameron
30ff88e9 e4bd0e60

+2 -4
+2 -4
drivers/iio/adc/twl4030-madc.c
··· 892 892 return ret; 893 893 } 894 894 895 - static int twl4030_madc_remove(struct platform_device *pdev) 895 + static void twl4030_madc_remove(struct platform_device *pdev) 896 896 { 897 897 struct iio_dev *iio_dev = platform_get_drvdata(pdev); 898 898 struct twl4030_madc_data *madc = iio_priv(iio_dev); ··· 903 903 twl4030_madc_set_power(madc, 0); 904 904 905 905 regulator_disable(madc->usb3v1); 906 - 907 - return 0; 908 906 } 909 907 910 908 #ifdef CONFIG_OF ··· 915 917 916 918 static struct platform_driver twl4030_madc_driver = { 917 919 .probe = twl4030_madc_probe, 918 - .remove = twl4030_madc_remove, 920 + .remove_new = twl4030_madc_remove, 919 921 .driver = { 920 922 .name = "twl4030_madc", 921 923 .of_match_table = of_match_ptr(twl_madc_of_match),