@@ -313,10 +313,8 @@ static int rvin_try_fmt_vid_cap(struct file *file, void *priv,
&source);
}
-static int rvin_s_fmt_vid_cap(struct file *file, void *priv,
- struct v4l2_format *f)
+static int __rvin_s_fmt_vid_cap(struct rvin_dev *vin, struct v4l2_format *f)
{
- struct rvin_dev *vin = video_drvdata(file);
struct rvin_source_fmt source;
int ret;
@@ -338,6 +336,14 @@ static int rvin_s_fmt_vid_cap(struct file *file, void *priv,
return 0;
}
+static int rvin_s_fmt_vid_cap(struct file *file, void *priv,
+ struct v4l2_format *f)
+{
+ struct rvin_dev *vin = video_drvdata(file);
+
+ return __rvin_s_fmt_vid_cap(vin, f);
+}
+
static int rvin_g_fmt_vid_cap(struct file *file, void *priv,
struct v4l2_format *f)
{
To support unbind and rebinding of subdevices rvin_s_fmt_vid_cap() needs to be called from with in the driver itself. Rename the function __rvin_s_fmt_vid_cap() and create a wrapper which can be used by vidioc_s_fmt_vid_cap. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> --- drivers/media/platform/rcar-vin/rcar-v4l2.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)