]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: rcar-vin: Always setup controls when opening video device
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Thu, 4 Jul 2019 17:16:02 +0000 (13:16 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 25 Jul 2019 15:47:36 +0000 (11:47 -0400)
Now that both Gen2 (video device centric) and Gen3 (media device
centric) modes of the driver have controls it is required to always
setup the controls when opening the devices. Remove the check which only
calls v4l2_ctrl_handler_setup() for Gen2 and call it unconditionally.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/rcar-vin/rcar-v4l2.c

index 192390c784f7d11ddaaa352d8597ecd93b1715c6..cfed0a2604133849132ae470b0324142d336228e 100644 (file)
@@ -790,26 +790,26 @@ static int rvin_open(struct file *file)
        if (ret)
                goto err_unlock;
 
-       if (vin->info->use_mc) {
+       if (vin->info->use_mc)
                ret = v4l2_pipeline_pm_use(&vin->vdev.entity, 1);
-               if (ret < 0)
-                       goto err_open;
-       } else {
-               if (v4l2_fh_is_singular_file(file)) {
-                       ret = rvin_power_parallel(vin, true);
-                       if (ret < 0)
-                               goto err_open;
-
-                       ret = v4l2_ctrl_handler_setup(&vin->ctrl_handler);
-                       if (ret)
-                               goto err_parallel;
-               }
-       }
+       else if (v4l2_fh_is_singular_file(file))
+               ret = rvin_power_parallel(vin, true);
+
+       if (ret < 0)
+               goto err_open;
+
+       ret = v4l2_ctrl_handler_setup(&vin->ctrl_handler);
+       if (ret)
+               goto err_power;
+
        mutex_unlock(&vin->lock);
 
        return 0;
-err_parallel:
-       rvin_power_parallel(vin, false);
+err_power:
+       if (vin->info->use_mc)
+               v4l2_pipeline_pm_use(&vin->vdev.entity, 0);
+       else if (v4l2_fh_is_singular_file(file))
+               rvin_power_parallel(vin, false);
 err_open:
        v4l2_fh_release(file);
 err_unlock: