summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx18/cx18-ioctl.c
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2009-02-16 00:23:25 -0500
committerAndy Walls <awalls@radix.net>2009-02-16 00:23:25 -0500
commit2fc2bbdf325e45fee8f2e62a8594fc62f18b5f3e (patch)
tree476b889e240097b8296c9a1ab0523cead2b40468 /linux/drivers/media/video/cx18/cx18-ioctl.c
parent2aa8e5c7af6768440a674eceede51b867f915445 (diff)
downloadmediapointer-dvb-s2-2fc2bbdf325e45fee8f2e62a8594fc62f18b5f3e.tar.gz
mediapointer-dvb-s2-2fc2bbdf325e45fee8f2e62a8594fc62f18b5f3e.tar.bz2
cx18, v4l2-chip-ident: Finish conversion of AV decoder core to v4l2_subdev
From: Andy Walls <awalls@radix.net> Added a new chip identifer to v4l2-chip-ident for the integrated A/V broadcast decoder core internal to the CX23418. Completed separation and encapsulation of the A/V decoder core interface as a v4l2_subdevice. The cx18 driver now compiles and links again. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
Diffstat (limited to 'linux/drivers/media/video/cx18/cx18-ioctl.c')
-rw-r--r--linux/drivers/media/video/cx18/cx18-ioctl.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/linux/drivers/media/video/cx18/cx18-ioctl.c b/linux/drivers/media/video/cx18/cx18-ioctl.c
index a4a0ed6fe..4345fd733 100644
--- a/linux/drivers/media/video/cx18/cx18-ioctl.c
+++ b/linux/drivers/media/video/cx18/cx18-ioctl.c
@@ -208,7 +208,7 @@ static int cx18_g_fmt_sliced_vbi_cap(struct file *file, void *fh,
* digitizer/slicer. Note, cx18_av_vbi() wipes the passed in
* fmt->fmt.sliced under valid calling conditions
*/
- if (cx18_av_cmd(cx, VIDIOC_G_FMT, fmt))
+ if (v4l2_subdev_call(cx->sd_av, video, g_fmt, fmt))
return -EINVAL;
/* Ensure V4L2 spec compliant output */
@@ -295,7 +295,7 @@ static int cx18_s_fmt_vid_cap(struct file *file, void *fh,
cx->params.width = w;
cx->params.height = h;
- cx18_av_cmd(cx, VIDIOC_S_FMT, fmt);
+ v4l2_subdev_call(cx->sd_av, video, s_fmt, fmt);
return cx18_g_fmt_vid_cap(file, fh, fmt);
}
@@ -322,7 +322,7 @@ static int cx18_s_fmt_vbi_cap(struct file *file, void *fh,
* Note cx18_av_vbi_wipes out alot of the passed in fmt under valid
* calling conditions
*/
- ret = cx18_av_cmd(cx, VIDIOC_S_FMT, fmt);
+ ret = v4l2_subdev_call(cx->sd_av, video, s_fmt, fmt);
if (ret)
return ret;
@@ -359,7 +359,7 @@ static int cx18_s_fmt_sliced_vbi_cap(struct file *file, void *fh,
* Note, cx18_av_vbi() wipes some "impossible" service lines in the
* passed in fmt->fmt.sliced under valid calling conditions
*/
- ret = cx18_av_cmd(cx, VIDIOC_S_FMT, fmt);
+ ret = v4l2_subdev_call(cx->sd_av, video, s_fmt, fmt);
if (ret)
return ret;
/* Store our current v4l2 sliced VBI settings */
@@ -516,7 +516,12 @@ static int cx18_s_crop(struct file *file, void *fh, struct v4l2_crop *crop)
if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
return -EINVAL;
- return cx18_av_cmd(cx, VIDIOC_S_CROP, crop);
+#if 0
+ return v4l2_subdev_call(cx->sd_av, video, s_crop, crop);
+#else
+ CX18_DEBUG_WARN("VIDIOC_S_CROP not implemented\n");
+ return -EINVAL;
+#endif
}
static int cx18_g_crop(struct file *file, void *fh, struct v4l2_crop *crop)
@@ -525,7 +530,12 @@ static int cx18_g_crop(struct file *file, void *fh, struct v4l2_crop *crop)
if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
return -EINVAL;
- return cx18_av_cmd(cx, VIDIOC_G_CROP, crop);
+#if 0
+ return v4l2_subdev_call(cx->sd_av, video, g_crop, crop);
+#else
+ CX18_DEBUG_WARN("VIDIOC_G_CROP not implemented\n");
+ return -EINVAL;
+#endif
}
static int cx18_enum_fmt_vid_cap(struct file *file, void *fh,