diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-11-20 11:19:20 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 06:05:01 -0500 |
commit | e75f9cee32827853fc2f9d1ceb6352e3edc33e9d (patch) | |
tree | e1f1db30c237a08773fcf155a771545f3b6aa54f /drivers/media/video/vivi.c | |
parent | 207705cd7f82b9f160c6ed552d5788a823701fd1 (diff) |
V4L/DVB (4861): Remove the need of a STD array for drivers using video_ioctl2
video_ioctl2 will auto-generate standard entries at ENUM_FMT.
Also, now, a driver may return a subset of the video array at
the return, to be stored as the current_norm.
For example, a driver may ask for V4L2_STD_PAL. At return,
driver may change it to V4L2_STD_PAL_B. This way, a futher call
to G_STD will return the exact detected video std.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/vivi.c')
-rw-r--r-- | drivers/media/video/vivi.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c index 9986de5cb3d6..474ddb779643 100644 --- a/drivers/media/video/vivi.c +++ b/drivers/media/video/vivi.c | |||
@@ -1044,16 +1044,8 @@ static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i) | |||
1044 | return (0); | 1044 | return (0); |
1045 | } | 1045 | } |
1046 | 1046 | ||
1047 | static struct v4l2_tvnorm tvnorms[] = { | 1047 | static int vidioc_s_std (struct file *file, void *priv, v4l2_std_id *i) |
1048 | { | ||
1049 | .name = "NTSC-M", | ||
1050 | .id = V4L2_STD_NTSC_M, | ||
1051 | } | ||
1052 | }; | ||
1053 | |||
1054 | static int vidioc_s_std (struct file *file, void *priv, v4l2_std_id a) | ||
1055 | { | 1048 | { |
1056 | |||
1057 | return 0; | 1049 | return 0; |
1058 | } | 1050 | } |
1059 | 1051 | ||
@@ -1333,8 +1325,8 @@ static struct video_device vivi = { | |||
1333 | #ifdef CONFIG_VIDEO_V4L1_COMPAT | 1325 | #ifdef CONFIG_VIDEO_V4L1_COMPAT |
1334 | .vidiocgmbuf = vidiocgmbuf, | 1326 | .vidiocgmbuf = vidiocgmbuf, |
1335 | #endif | 1327 | #endif |
1336 | .tvnorms = tvnorms, | 1328 | .tvnorms = V4L2_STD_NTSC_M, |
1337 | .tvnormsize = ARRAY_SIZE(tvnorms), | 1329 | .current_norm = V4L2_STD_NTSC_M, |
1338 | }; | 1330 | }; |
1339 | /* ----------------------------------------------------------------- | 1331 | /* ----------------------------------------------------------------- |
1340 | Initialization and module stuff | 1332 | Initialization and module stuff |
@@ -1361,8 +1353,6 @@ static int __init vivi_init(void) | |||
1361 | dev->vidq.timeout.data = (unsigned long)dev; | 1353 | dev->vidq.timeout.data = (unsigned long)dev; |
1362 | init_timer(&dev->vidq.timeout); | 1354 | init_timer(&dev->vidq.timeout); |
1363 | 1355 | ||
1364 | vivi.current_norm = tvnorms[0].id; | ||
1365 | |||
1366 | ret = video_register_device(&vivi, VFL_TYPE_GRABBER, video_nr); | 1356 | ret = video_register_device(&vivi, VFL_TYPE_GRABBER, video_nr); |
1367 | printk(KERN_INFO "Video Technology Magazine Virtual Video Capture Board (Load status: %d)\n", ret); | 1357 | printk(KERN_INFO "Video Technology Magazine Virtual Video Capture Board (Load status: %d)\n", ret); |
1368 | return ret; | 1358 | return ret; |