On Mon Nov 6, 2023 at 7:44 AM AEST, Uwe Kleine-König wrote: > 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. Reviewed-by: Nicholas Piggin <npiggin@xxxxxxxxx> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > --- > drivers/tty/hvc/hvc_opal.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c > index 8995b253cf90..2cdf66e395cc 100644 > --- a/drivers/tty/hvc/hvc_opal.c > +++ b/drivers/tty/hvc/hvc_opal.c > @@ -232,7 +232,7 @@ static int hvc_opal_probe(struct platform_device *dev) > return 0; > } > > -static int hvc_opal_remove(struct platform_device *dev) > +static void hvc_opal_remove(struct platform_device *dev) > { > struct hvc_struct *hp = dev_get_drvdata(&dev->dev); > int termno; > @@ -242,13 +242,11 @@ static int hvc_opal_remove(struct platform_device *dev) > if (hvc_opal_privs[termno] != &hvc_opal_boot_priv) > kfree(hvc_opal_privs[termno]); > hvc_opal_privs[termno] = NULL; > - > - return 0; > } > > static struct platform_driver hvc_opal_driver = { > .probe = hvc_opal_probe, > - .remove = hvc_opal_remove, > + .remove_new = hvc_opal_remove, > .driver = { > .name = hvc_opal_name, > .of_match_table = hvc_opal_match,