aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx18/cx18-streams.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/cx18/cx18-streams.c')
-rw-r--r--drivers/media/video/cx18/cx18-streams.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/media/video/cx18/cx18-streams.c b/drivers/media/video/cx18/cx18-streams.c
index 1b921a336092..1728b1d832a9 100644
--- a/drivers/media/video/cx18/cx18-streams.c
+++ b/drivers/media/video/cx18/cx18-streams.c
@@ -39,6 +39,7 @@ static struct file_operations cx18_v4l2_enc_fops = {
39 .owner = THIS_MODULE, 39 .owner = THIS_MODULE,
40 .read = cx18_v4l2_read, 40 .read = cx18_v4l2_read,
41 .open = cx18_v4l2_open, 41 .open = cx18_v4l2_open,
42 /* FIXME change to video_ioctl2 if serialization lock can be removed */
42 .ioctl = cx18_v4l2_ioctl, 43 .ioctl = cx18_v4l2_ioctl,
43 .compat_ioctl = v4l_compat_ioctl32, 44 .compat_ioctl = v4l_compat_ioctl32,
44 .release = cx18_v4l2_close, 45 .release = cx18_v4l2_close,
@@ -189,14 +190,15 @@ static int cx18_prep_dev(struct cx18 *cx, int type)
189 s->v4l2dev->type = 190 s->v4l2dev->type =
190 VID_TYPE_CAPTURE | VID_TYPE_TUNER | VID_TYPE_TELETEXT | 191 VID_TYPE_CAPTURE | VID_TYPE_TUNER | VID_TYPE_TELETEXT |
191 VID_TYPE_CLIPPING | VID_TYPE_SCALES | VID_TYPE_MPEG_ENCODER; 192 VID_TYPE_CLIPPING | VID_TYPE_SCALES | VID_TYPE_MPEG_ENCODER;
192 snprintf(s->v4l2dev->name, sizeof(s->v4l2dev->name), "cx18%d %s", 193 snprintf(s->v4l2dev->name, sizeof(s->v4l2dev->name), "cx18-%d",
193 cx->num, s->name); 194 cx->num);
194 195
195 s->v4l2dev->minor = minor; 196 s->v4l2dev->minor = minor;
196 s->v4l2dev->dev = &cx->dev->dev; 197 s->v4l2dev->dev = &cx->dev->dev;
197 s->v4l2dev->fops = cx18_stream_info[type].fops; 198 s->v4l2dev->fops = cx18_stream_info[type].fops;
198 s->v4l2dev->release = video_device_release; 199 s->v4l2dev->release = video_device_release;
199 200 s->v4l2dev->tvnorms = V4L2_STD_ALL;
201 cx18_set_funcs(s->v4l2dev);
200 return 0; 202 return 0;
201} 203}
202 204
@@ -309,8 +311,10 @@ void cx18_streams_cleanup(struct cx18 *cx, int unregister)
309 311
310 /* Teardown all streams */ 312 /* Teardown all streams */
311 for (type = 0; type < CX18_MAX_STREAMS; type++) { 313 for (type = 0; type < CX18_MAX_STREAMS; type++) {
312 if (cx->streams[type].dvb.enabled) 314 if (cx->streams[type].dvb.enabled) {
313 cx18_dvb_unregister(&cx->streams[type]); 315 cx18_dvb_unregister(&cx->streams[type]);
316 cx->streams[type].dvb.enabled = false;
317 }
314 318
315 vdev = cx->streams[type].v4l2dev; 319 vdev = cx->streams[type].v4l2dev;
316 320