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 |
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
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.
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 --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");
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(+)