mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
media: m2m-deinterlace: Access v4l2_fh from file
The v4l2_fh associated with an open file handle is now guaranteed to be available in file->private_data, initialised by v4l2_fh_add(). Access the v4l2_fh, and from there the driver-specific structure, from the file * in all ioctl handlers. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
d0169457bc
commit
94f55f5eea
|
|
@ -517,13 +517,13 @@ static int vidioc_g_fmt(struct deinterlace_ctx *ctx, struct v4l2_format *f)
|
|||
static int vidioc_g_fmt_vid_out(struct file *file, void *priv,
|
||||
struct v4l2_format *f)
|
||||
{
|
||||
return vidioc_g_fmt(priv, f);
|
||||
return vidioc_g_fmt(file_to_ctx(file), f);
|
||||
}
|
||||
|
||||
static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
|
||||
struct v4l2_format *f)
|
||||
{
|
||||
return vidioc_g_fmt(priv, f);
|
||||
return vidioc_g_fmt(file_to_ctx(file), f);
|
||||
}
|
||||
|
||||
static int vidioc_try_fmt(struct v4l2_format *f, struct deinterlace_fmt *fmt)
|
||||
|
|
@ -544,8 +544,8 @@ static int vidioc_try_fmt(struct v4l2_format *f, struct deinterlace_fmt *fmt)
|
|||
static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
|
||||
struct v4l2_format *f)
|
||||
{
|
||||
struct deinterlace_ctx *ctx = file_to_ctx(file);
|
||||
struct deinterlace_fmt *fmt;
|
||||
struct deinterlace_ctx *ctx = priv;
|
||||
|
||||
fmt = find_format(f);
|
||||
if (!fmt || !(fmt->types & MEM2MEM_CAPTURE))
|
||||
|
|
@ -638,20 +638,20 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
|
|||
ret = vidioc_try_fmt_vid_cap(file, priv, f);
|
||||
if (ret)
|
||||
return ret;
|
||||
return vidioc_s_fmt(priv, f);
|
||||
return vidioc_s_fmt(file_to_ctx(file), f);
|
||||
}
|
||||
|
||||
static int vidioc_s_fmt_vid_out(struct file *file, void *priv,
|
||||
struct v4l2_format *f)
|
||||
{
|
||||
struct deinterlace_ctx *ctx = priv;
|
||||
struct deinterlace_ctx *ctx = file_to_ctx(file);
|
||||
int ret;
|
||||
|
||||
ret = vidioc_try_fmt_vid_out(file, priv, f);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = vidioc_s_fmt(priv, f);
|
||||
ret = vidioc_s_fmt(ctx, f);
|
||||
if (!ret)
|
||||
ctx->colorspace = f->fmt.pix.colorspace;
|
||||
|
||||
|
|
@ -661,8 +661,8 @@ static int vidioc_s_fmt_vid_out(struct file *file, void *priv,
|
|||
static int vidioc_streamon(struct file *file, void *priv,
|
||||
enum v4l2_buf_type type)
|
||||
{
|
||||
struct deinterlace_ctx *ctx = file_to_ctx(file);
|
||||
struct deinterlace_q_data *s_q_data, *d_q_data;
|
||||
struct deinterlace_ctx *ctx = priv;
|
||||
|
||||
s_q_data = get_q_data(V4L2_BUF_TYPE_VIDEO_OUTPUT);
|
||||
d_q_data = get_q_data(V4L2_BUF_TYPE_VIDEO_CAPTURE);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user