Re: [RESEND PATCH v3 25/32] media: marvell: cafe: Register V4L2 device earlier

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

 



On Tue, Jun 20, 2023 at 09:43:38AM +0000, Sakari Ailus wrote:
> Hi Laurent,
> 
> On Tue, May 30, 2023 at 08:00:33AM +0300, Laurent Pinchart wrote:
> > Hi Sakari,
> > 
> > Thank you for the patch.
> > 
> > On Thu, May 25, 2023 at 12:16:08PM +0300, Sakari Ailus wrote:
> > > Register V4L2 device before the async notifier so the struct device will
> > > be available for the notifier which makes it possible to use it for debug
> > > prints.
> > 
> > Please record in the commit message that this is to prepare for patch
> > 31/32. Same comment for other patches in this series.
> 
> I've already added the text that tells the purpose is to make future debug
> prints possible (with the device). Would you like to have the patch subject
> here or something else?

I meant it would be nice to record in the commit message here that the
v4l2-async framework will start making use of the dev field in a
subsequent patch, and that this patch prepares for it.

> > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> > > ---
> > >  drivers/media/platform/marvell/cafe-driver.c | 11 +++++++++--
> > >  drivers/media/platform/marvell/mcam-core.c   |  6 ------
> > >  2 files changed, 9 insertions(+), 8 deletions(-)
> > > 
> > > diff --git a/drivers/media/platform/marvell/cafe-driver.c b/drivers/media/platform/marvell/cafe-driver.c
> > > index dd1bba70bd791..fbfbb9f67ddfc 100644
> > > --- a/drivers/media/platform/marvell/cafe-driver.c
> > > +++ b/drivers/media/platform/marvell/cafe-driver.c
> > > @@ -536,6 +536,10 @@ static int cafe_pci_probe(struct pci_dev *pdev,
> > >  	if (ret)
> > >  		goto out_pdown;
> > >  
> > > +	ret = v4l2_device_register(mcam->dev, &mcam->v4l2_dev);
> > > +	if (ret)
> > > +		goto out_smbus_shutdown;
> > > +
> > >  	v4l2_async_nf_init(&mcam->notifier);
> > >  
> > >  	asd = v4l2_async_nf_add_i2c(&mcam->notifier,
> > > @@ -544,12 +548,12 @@ static int cafe_pci_probe(struct pci_dev *pdev,
> > >  				    struct v4l2_async_connection);
> > >  	if (IS_ERR(asd)) {
> > >  		ret = PTR_ERR(asd);
> > > -		goto out_smbus_shutdown;
> > > +		goto out_v4l2_device_unregister;
> > >  	}
> > >  
> > >  	ret = mccic_register(mcam);
> > >  	if (ret)
> > > -		goto out_smbus_shutdown;
> > > +		goto out_v4l2_device_unregister;
> > >  
> > >  	clkdev_create(mcam->mclk, "xclk", "%d-%04x",
> > >  		i2c_adapter_id(cam->i2c_adapter), ov7670_info.addr);
> > > @@ -565,6 +569,8 @@ static int cafe_pci_probe(struct pci_dev *pdev,
> > >  
> > >  out_mccic_shutdown:
> > >  	mccic_shutdown(mcam);
> > > +out_v4l2_device_unregister:
> > > +	v4l2_device_unregister(&mcam->v4l2_dev);
> > >  out_smbus_shutdown:
> > >  	cafe_smbus_shutdown(cam);
> > >  out_pdown:
> > > @@ -587,6 +593,7 @@ static int cafe_pci_probe(struct pci_dev *pdev,
> > >  static void cafe_shutdown(struct cafe_camera *cam)
> > >  {
> > >  	mccic_shutdown(&cam->mcam);
> > > +	v4l2_device_unregister(&cam->mcam.v4l2_dev);
> > >  	cafe_smbus_shutdown(cam);
> > >  	free_irq(cam->pdev->irq, cam);
> > >  	pci_iounmap(cam->pdev, cam->mcam.regs);
> > > diff --git a/drivers/media/platform/marvell/mcam-core.c b/drivers/media/platform/marvell/mcam-core.c
> > > index 3cee6d6b83fa9..bcfcecdb03ea2 100644
> > > --- a/drivers/media/platform/marvell/mcam-core.c
> > > +++ b/drivers/media/platform/marvell/mcam-core.c
> > > @@ -1866,10 +1866,6 @@ int mccic_register(struct mcam_camera *cam)
> > >  	/*
> > >  	 * Register with V4L
> > >  	 */
> > 
> > The comment doesn't seem valid anymore.
> 
> I'll drop it from v4.
> 
> > > -	ret = v4l2_device_register(cam->dev, &cam->v4l2_dev);
> > > -	if (ret)
> > > -		goto out;
> > > -
> > >  	mutex_init(&cam->s_mutex);
> > >  	cam->state = S_NOTREADY;
> > >  	mcam_set_config_needed(cam, 1);
> > > @@ -1915,7 +1911,6 @@ int mccic_register(struct mcam_camera *cam)
> > >  
> > >  out:
> > >  	v4l2_async_nf_unregister(&cam->notifier);
> > > -	v4l2_device_unregister(&cam->v4l2_dev);
> > >  	v4l2_async_nf_cleanup(&cam->notifier);
> > >  	return ret;
> > >  }
> > > @@ -1937,7 +1932,6 @@ void mccic_shutdown(struct mcam_camera *cam)
> > >  		mcam_free_dma_bufs(cam);
> > >  	v4l2_ctrl_handler_free(&cam->ctrl_handler);
> > >  	v4l2_async_nf_unregister(&cam->notifier);
> > > -	v4l2_device_unregister(&cam->v4l2_dev);
> > >  	v4l2_async_nf_cleanup(&cam->notifier);
> > >  }
> > >  EXPORT_SYMBOL_GPL(mccic_shutdown);

-- 
Regards,

Laurent Pinchart



[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