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@xxxxxxxxx> --- 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