Re: [PATCH 1/5] media: chips-media: wave5: Convert to platform remove callback returning void

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le vendredi 23 février 2024 à 13:19 -0500, Nicolas Dufresne a écrit :
> Hi,
> 
> maybe its already been discussed but ...
> 
> Le vendredi 23 février 2024 à 13:59 +0100, Uwe Kleine-König a écrit :
> > 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().

Please ignore my comment, sorry for the noise.

Nicolas

> > 
> > 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/media/platform/chips-media/wave5/wave5-vpu.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.c b/drivers/media/platform/chips-media/wave5/wave5-vpu.c
> > index 0d90b5820bef..1b3df5b04249 100644
> > --- a/drivers/media/platform/chips-media/wave5/wave5-vpu.c
> > +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.c
> > @@ -250,7 +250,7 @@ static int wave5_vpu_probe(struct platform_device *pdev)
> >  	return ret;
> >  }
> >  
> > -static int wave5_vpu_remove(struct platform_device *pdev)
> > +static void wave5_vpu_remove(struct platform_device *pdev)
> >  {
> >  	struct vpu_device *dev = dev_get_drvdata(&pdev->dev);
> >  
> > @@ -262,8 +262,6 @@ static int wave5_vpu_remove(struct platform_device *pdev)
> >  	v4l2_device_unregister(&dev->v4l2_dev);
> >  	wave5_vdi_release(&pdev->dev);
> >  	ida_destroy(&dev->inst_ida);
> > -
> > -	return 0;
> >  }
> >  
> >  static const struct wave5_match_data ti_wave521c_data = {
> > @@ -283,7 +281,7 @@ static struct platform_driver wave5_vpu_driver = {
> >  		.of_match_table = of_match_ptr(wave5_dt_ids),
> >  		},
> >  	.probe = wave5_vpu_probe,
> > -	.remove = wave5_vpu_remove,
> > +	.remove_new = wave5_vpu_remove,
> 
> What if we have another screw up ? remove_new_new ? Why not just remove the int
> across the tree instead ? Or perhaps its a two step plane ?
> 
> Nicolas
> 
> >  };
> >  
> >  module_platform_driver(wave5_vpu_driver);
> 






[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux