Hi Uwe, Thanks for the patch. > -----Original Message----- > From: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Sent: Thursday, May 18, 2023 12:02 AM > To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; Thinh Nguyen > <Thinh.Nguyen@xxxxxxxxxxxx>; Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>; > Biju Das <biju.das.jz@xxxxxxxxxxxxxx>; Krzysztof Kozlowski > <krzysztof.kozlowski@xxxxxxxxxx>; Rob Herring <robh@xxxxxxxxxx> > Cc: linux-usb@xxxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx > Subject: [PATCH 41/97] usb: gadget/rzv2m_usb3drd: 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() is 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> Reviewed-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> Cheers, Biju > --- > drivers/usb/gadget/udc/rzv2m_usb3drd.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/gadget/udc/rzv2m_usb3drd.c > b/drivers/usb/gadget/udc/rzv2m_usb3drd.c > index 589c7252e014..36f4ff00d22f 100644 > --- a/drivers/usb/gadget/udc/rzv2m_usb3drd.c > +++ b/drivers/usb/gadget/udc/rzv2m_usb3drd.c > @@ -58,7 +58,7 @@ void rzv2m_usb3drd_reset(struct device *dev, bool > host) } EXPORT_SYMBOL_GPL(rzv2m_usb3drd_reset); > > -static int rzv2m_usb3drd_remove(struct platform_device *pdev) > +static void rzv2m_usb3drd_remove(struct platform_device *pdev) > { > struct rzv2m_usb3drd *usb3 = platform_get_drvdata(pdev); > > @@ -66,8 +66,6 @@ static int rzv2m_usb3drd_remove(struct platform_device > *pdev) > pm_runtime_put(usb3->dev); > pm_runtime_disable(&pdev->dev); > reset_control_assert(usb3->drd_rstc); > - > - return 0; > } > > static int rzv2m_usb3drd_probe(struct platform_device *pdev) @@ -129,7 > +127,7 @@ static struct platform_driver rzv2m_usb3drd_driver = { > .of_match_table = rzv2m_usb3drd_of_match, > }, > .probe = rzv2m_usb3drd_probe, > - .remove = rzv2m_usb3drd_remove, > + .remove_new = rzv2m_usb3drd_remove, > }; > module_platform_driver(rzv2m_usb3drd_driver); > > -- > 2.39.2