diff mbox series

media: ov5640: add missing v4l2_subdev_init_finalize

Message ID 20231124184913.2574925-1-tomm.merciai@gmail.com (mailing list archive)
State New, archived
Headers show
Series media: ov5640: add missing v4l2_subdev_init_finalize | expand

Commit Message

Tommaso Merciai Nov. 24, 2023, 6:49 p.m. UTC
After the ov5640 configurations steps let's add v4l2_subdev_init_finalize
that finalizes the initialization of the subdevice.

References:
 - https://linuxtv.org/downloads/v4l-dvb-apis/driver-api/v4l2-subdev.html

Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
---
 drivers/media/i2c/ov5640.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Tommaso Merciai Nov. 24, 2023, 7:02 p.m. UTC | #1
Hi,

On Fri, Nov 24, 2023 at 07:49:13PM +0100, Tommaso Merciai wrote:
> After the ov5640 configurations steps let's add v4l2_subdev_init_finalize
> that finalizes the initialization of the subdevice.
> 
> References:
>  - https://linuxtv.org/downloads/v4l-dvb-apis/driver-api/v4l2-subdev.html
> 
> Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
> ---
>  drivers/media/i2c/ov5640.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
> index 3f79a3b77044..338eea802ab8 100644
> --- a/drivers/media/i2c/ov5640.c
> +++ b/drivers/media/i2c/ov5640.c
> @@ -3924,6 +3924,12 @@ static int ov5640_probe(struct i2c_client *client)
>  	if (ret)
>  		goto entity_cleanup;
>  
> +	ret = v4l2_subdev_init_finalize(&sensor->sd);
> +	if (ret < 0) {
> +		dev_err(dev, "subdev init error: %d\n", ret);
> +		goto entity_cleanup;
> +	}
> +
>  	ret = ov5640_sensor_resume(dev);
>  	if (ret) {
>  		dev_err(dev, "failed to power on\n");
> -- 
> 2.34.1
> 

Ignore this patch please. I forget the cleanup part.

Thanks & regards,
Tommaso
Laurent Pinchart Nov. 24, 2023, 7:06 p.m. UTC | #2
On Fri, Nov 24, 2023 at 08:02:07PM +0100, Tommaso Merciai wrote:
> On Fri, Nov 24, 2023 at 07:49:13PM +0100, Tommaso Merciai wrote:
> > After the ov5640 configurations steps let's add v4l2_subdev_init_finalize
> > that finalizes the initialization of the subdevice.
> > 
> > References:
> >  - https://linuxtv.org/downloads/v4l-dvb-apis/driver-api/v4l2-subdev.html
> > 
> > Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
> > ---
> >  drivers/media/i2c/ov5640.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
> > index 3f79a3b77044..338eea802ab8 100644
> > --- a/drivers/media/i2c/ov5640.c
> > +++ b/drivers/media/i2c/ov5640.c
> > @@ -3924,6 +3924,12 @@ static int ov5640_probe(struct i2c_client *client)
> >  	if (ret)
> >  		goto entity_cleanup;
> >  
> > +	ret = v4l2_subdev_init_finalize(&sensor->sd);
> > +	if (ret < 0) {
> > +		dev_err(dev, "subdev init error: %d\n", ret);
> > +		goto entity_cleanup;
> > +	}
> > +
> >  	ret = ov5640_sensor_resume(dev);
> >  	if (ret) {
> >  		dev_err(dev, "failed to power on\n");
> 
> Ignore this patch please. I forget the cleanup part.

And you also forgot the conversion to the V4L2 subdev active state API
:-) See commit e8a5b1df000e ("media: i2c: imx219: Use subdev active
state") for an example.
Tommaso Merciai Nov. 25, 2023, 9:56 a.m. UTC | #3
Hi Laurent,

On Fri, Nov 24, 2023 at 09:06:36PM +0200, Laurent Pinchart wrote:
> On Fri, Nov 24, 2023 at 08:02:07PM +0100, Tommaso Merciai wrote:
> > On Fri, Nov 24, 2023 at 07:49:13PM +0100, Tommaso Merciai wrote:
> > > After the ov5640 configurations steps let's add v4l2_subdev_init_finalize
> > > that finalizes the initialization of the subdevice.
> > > 
> > > References:
> > >  - https://linuxtv.org/downloads/v4l-dvb-apis/driver-api/v4l2-subdev.html
> > > 
> > > Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
> > > ---
> > >  drivers/media/i2c/ov5640.c | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
> > > index 3f79a3b77044..338eea802ab8 100644
> > > --- a/drivers/media/i2c/ov5640.c
> > > +++ b/drivers/media/i2c/ov5640.c
> > > @@ -3924,6 +3924,12 @@ static int ov5640_probe(struct i2c_client *client)
> > >  	if (ret)
> > >  		goto entity_cleanup;
> > >  
> > > +	ret = v4l2_subdev_init_finalize(&sensor->sd);
> > > +	if (ret < 0) {
> > > +		dev_err(dev, "subdev init error: %d\n", ret);
> > > +		goto entity_cleanup;
> > > +	}
> > > +
> > >  	ret = ov5640_sensor_resume(dev);
> > >  	if (ret) {
> > >  		dev_err(dev, "failed to power on\n");
> > 
> > Ignore this patch please. I forget the cleanup part.
> 
> And you also forgot the conversion to the V4L2 subdev active state API
> :-) See commit e8a5b1df000e ("media: i2c: imx219: Use subdev active
> state") for an example.

Yup, thanks mb :'(
Thanks for sharing this :)

> 
> -- 
> Regards,
> 
> Laurent Pinchart
diff mbox series

Patch

diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
index 3f79a3b77044..338eea802ab8 100644
--- a/drivers/media/i2c/ov5640.c
+++ b/drivers/media/i2c/ov5640.c
@@ -3924,6 +3924,12 @@  static int ov5640_probe(struct i2c_client *client)
 	if (ret)
 		goto entity_cleanup;
 
+	ret = v4l2_subdev_init_finalize(&sensor->sd);
+	if (ret < 0) {
+		dev_err(dev, "subdev init error: %d\n", ret);
+		goto entity_cleanup;
+	}
+
 	ret = ov5640_sensor_resume(dev);
 	if (ret) {
 		dev_err(dev, "failed to power on\n");