> -----Original Message----- > From: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Sent: Tuesday, September 19, 2023 7:02 PM > To: Vinod Koul <vkoul@xxxxxxxxxx> > Cc: Simek, Michal <michal.simek@xxxxxxx>; Pandey, Radhey Shyam > <radhey.shyam.pandey@xxxxxxx>; Rob Herring <robh@xxxxxxxxxx>; Peter > Korsgaard <peter@xxxxxxxxxxxxx>; Liu Shixin <liushixin2@xxxxxxxxxx>; > dmaengine@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > kernel@xxxxxxxxxxxxxx > Subject: [PATCH 57/59] dma: xilinx: xilinx_dma: 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> > --- > drivers/dma/xilinx/xilinx_dma.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/dma/xilinx/xilinx_dma.c > b/drivers/dma/xilinx/xilinx_dma.c index 0a3b2e22f23d..0c363a1ed853 > 100644 > --- a/drivers/dma/xilinx/xilinx_dma.c > +++ b/drivers/dma/xilinx/xilinx_dma.c > @@ -3245,7 +3245,7 @@ static int xilinx_dma_probe(struct platform_device > *pdev) > * > * Return: Always '0' > */ Nit - kernel-doc return documentation needs to be updated. > -static int xilinx_dma_remove(struct platform_device *pdev) > +static void xilinx_dma_remove(struct platform_device *pdev) > { > struct xilinx_dma_device *xdev = platform_get_drvdata(pdev); > int i; > @@ -3259,8 +3259,6 @@ static int xilinx_dma_remove(struct > platform_device *pdev) > xilinx_dma_chan_remove(xdev->chan[i]); > > xdma_disable_allclks(xdev); > - > - return 0; > } > > static struct platform_driver xilinx_vdma_driver = { @@ -3269,7 +3267,7 > @@ static struct platform_driver xilinx_vdma_driver = { > .of_match_table = xilinx_dma_of_ids, > }, > .probe = xilinx_dma_probe, > - .remove = xilinx_dma_remove, > + .remove_new = xilinx_dma_remove, > }; > > module_platform_driver(xilinx_vdma_driver); > -- > 2.40.1