Messages in this thread | | | From | Jernej Škrabec <> | Subject | Re: [PATCH 07/12] bus: sunxi-rsb: Convert to platform remove callback returning void | Date | Sat, 18 Nov 2023 22:51:10 +0100 |
| |
Dne četrtek, 09. november 2023 ob 21:28:37 CET 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@pengutronix.de>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards, Jernej
> --- > drivers/bus/sunxi-rsb.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/bus/sunxi-rsb.c b/drivers/bus/sunxi-rsb.c > index db0ed4e5d315..fd3e9d82340a 100644 > --- a/drivers/bus/sunxi-rsb.c > +++ b/drivers/bus/sunxi-rsb.c > @@ -817,15 +817,13 @@ static int sunxi_rsb_probe(struct platform_device *pdev) > return 0; > } > > -static int sunxi_rsb_remove(struct platform_device *pdev) > +static void sunxi_rsb_remove(struct platform_device *pdev) > { > struct sunxi_rsb *rsb = platform_get_drvdata(pdev); > > device_for_each_child(rsb->dev, NULL, sunxi_rsb_remove_devices); > pm_runtime_disable(&pdev->dev); > sunxi_rsb_hw_exit(rsb); > - > - return 0; > } > > static const struct dev_pm_ops sunxi_rsb_dev_pm_ops = { > @@ -842,7 +840,7 @@ MODULE_DEVICE_TABLE(of, sunxi_rsb_of_match_table); > > static struct platform_driver sunxi_rsb_driver = { > .probe = sunxi_rsb_probe, > - .remove = sunxi_rsb_remove, > + .remove_new = sunxi_rsb_remove, > .driver = { > .name = RSB_CTRL_NAME, > .of_match_table = sunxi_rsb_of_match_table, >
| |