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