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

extcon: intel-mrfld: 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.

Link: https://lore.kernel.org/lkml/7223e19152980ef553e38cf56c2b38ec099586e0.1708876186.git.u.kleine-koenig@pengutronix.de/
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>

authored by

Uwe Kleine-König and committed by
Chanwoo Choi
6d472f20 67d4b2ce

+2 -4
+2 -4
drivers/extcon/extcon-intel-mrfld.c
··· 257 257 return 0; 258 258 } 259 259 260 - static int mrfld_extcon_remove(struct platform_device *pdev) 260 + static void mrfld_extcon_remove(struct platform_device *pdev) 261 261 { 262 262 struct mrfld_extcon_data *data = platform_get_drvdata(pdev); 263 263 264 264 mrfld_extcon_sw_control(data, false); 265 - 266 - return 0; 267 265 } 268 266 269 267 static const struct platform_device_id mrfld_extcon_id_table[] = { ··· 275 277 .name = "mrfld_bcove_pwrsrc", 276 278 }, 277 279 .probe = mrfld_extcon_probe, 278 - .remove = mrfld_extcon_remove, 280 + .remove_new = mrfld_extcon_remove, 279 281 .id_table = mrfld_extcon_id_table, 280 282 }; 281 283 module_platform_driver(mrfld_extcon_driver);