2023-11-24 18:49:32

by Tommaso Merciai

[permalink] [raw]
Subject: [PATCH] media: ov5640: add missing v4l2_subdev_init_finalize

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 <[email protected]>
---
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


2023-11-24 19:02:33

by Tommaso Merciai

[permalink] [raw]
Subject: Re: [PATCH] media: ov5640: add missing v4l2_subdev_init_finalize

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 <[email protected]>
> ---
> 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

2023-11-24 19:07:14

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] media: ov5640: add missing v4l2_subdev_init_finalize

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 <[email protected]>
> > ---
> > 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.

--
Regards,

Laurent Pinchart

2023-11-25 09:56:42

by Tommaso Merciai

[permalink] [raw]
Subject: Re: [PATCH] media: ov5640: add missing v4l2_subdev_init_finalize

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 <[email protected]>
> > > ---
> > > 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