diff options
author | Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> | 2019-06-12 19:45:46 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-06-21 16:44:45 -0400 |
commit | a59846ce4f26530a457b5a25e7ea5647946ccd71 (patch) | |
tree | cb80548c55c61ccdf40e5b6d798f904b094b5495 /drivers/media | |
parent | e378faaa66f18a7a26b181574d5f4a7c25598a3f (diff) | |
download | lwn-a59846ce4f26530a457b5a25e7ea5647946ccd71.tar.gz lwn-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')
-rw-r--r-- | drivers/media/platform/rcar-vin/rcar-v4l2.c | 24 |
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: |