From: Hans de Goede Date: Sun, 7 Nov 2021 17:15:43 +0000 (+0000) Subject: media: atomisp-ov2680: Move ov2680_init_registers() call to power_up() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8eed52e182eeade19329a849c60a8150a101ac1e;p=linux.git media: atomisp-ov2680: Move ov2680_init_registers() call to power_up() Move ov2680_init_registers() call to power_up(), so that we also init the registers on code-paths which do not call ov2680_s_power() like running camorama. Link: https://lore.kernel.org/linux-media/20211107171549.267583-6-hdegoede@redhat.com Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c index b6927f9be022c..83608ba4e70a2 100644 --- a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c +++ b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c @@ -744,9 +744,15 @@ static int power_up(struct v4l2_subdev *sd) /* according to DS, 20ms is needed between PWDN and i2c access */ msleep(20); + ret = ov2680_init_registers(sd); + if (ret) + goto fail_init_registers; + dev->power_on = true; return 0; +fail_init_registers: + dev->platform_data->flisclk_ctrl(sd, 0); fail_clk: gpio_ctrl(sd, 0); fail_power: @@ -807,8 +813,6 @@ static int ov2680_s_power(struct v4l2_subdev *sd, int on) ret = power_down(sd); } else { ret = power_up(sd); - if (!ret) - ret = ov2680_init_registers(sd); } mutex_unlock(&dev->input_lock);