aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/media/platform/rcar-vin/rcar-v4l2.c
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>2019-06-12 19:45:46 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2019-06-21 16:44:45 -0400
commita59846ce4f26530a457b5a25e7ea5647946ccd71 (patch)
treecb80548c55c61ccdf40e5b6d798f904b094b5495 /drivers/media/platform/rcar-vin/rcar-v4l2.c
parentmedia: rcar-vin: Merge helpers dealing with powering the parallel subdevice (diff)
downloadwireguard-linux-a59846ce4f26530a457b5a25e7ea5647946ccd71.tar.xz
wireguard-linux-a59846ce4f26530a457b5a25e7ea5647946ccd71.zip
media: rcar-vin: Fold rvin_initialize_device() into rvin_open()
The function no longer serve a purpose as most tasks it performed have been refactored, fold what remains of it into the only caller. While at it add error checking for v4l2_ctrl_handler_setup(). Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Ulrich Hecht <uli+renesas@fpond.eu> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/rcar-vin/rcar-v4l2.c')
-rw-r--r--drivers/media/platform/rcar-vin/rcar-v4l2.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
index 5a01b617c87d..a84a07f1588c 100644
--- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
+++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
@@ -762,20 +762,6 @@ static int rvin_power_parallel(struct rvin_dev *vin, bool on)
return 0;
}
-static int rvin_initialize_device(struct file *file)
-{
- struct rvin_dev *vin = video_drvdata(file);
- int ret;
-
- ret = rvin_power_parallel(vin, true);
- if (ret < 0)
- return ret;
-
- v4l2_ctrl_handler_setup(&vin->ctrl_handler);
-
- return 0;
-}
-
static int rvin_open(struct file *file)
{
struct rvin_dev *vin = video_drvdata(file);
@@ -796,14 +782,20 @@ static int rvin_open(struct file *file)
goto err_unlock;
if (v4l2_fh_is_singular_file(file)) {
- ret = rvin_initialize_device(file);
- if (ret)
+ 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;
}
mutex_unlock(&vin->lock);
return 0;
+err_parallel:
+ rvin_power_parallel(vin, false);
err_open:
v4l2_fh_release(file);
err_unlock: