summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2009-01-26 23:13:05 +0100
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 17:42:27 +0200
commitd0852ed27c650237800470b5cbde368316813406 (patch)
tree3c1e911ba54b71ef317ccd9a5996167fb7c4fe85
parentV4L/DVB (10309): s2255drv: use usb_make_path to report bus info (diff)
downloadlinux-d0852ed27c650237800470b5cbde368316813406.tar.xz
linux-d0852ed27c650237800470b5cbde368316813406.zip
V4L/DVB (10313): saa7146: fix VIDIOC_ENUMSTD.
The previous conversion to video_ioctl2 broke VIDIOC_ENUMSTD. This is now fixed. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/common/saa7146_fops.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/common/saa7146_fops.c b/drivers/media/common/saa7146_fops.c
index 4a27d4eda628..fec799d2600f 100644
--- a/drivers/media/common/saa7146_fops.c
+++ b/drivers/media/common/saa7146_fops.c
@@ -511,6 +511,7 @@ int saa7146_register_device(struct video_device **vid, struct saa7146_dev* dev,
struct saa7146_vv *vv = dev->vv_data;
struct video_device *vfd;
int err;
+ int i;
DEB_EE(("dev:%p, name:'%s', type:%d\n",dev,name,type));
@@ -520,9 +521,11 @@ int saa7146_register_device(struct video_device **vid, struct saa7146_dev* dev,
return -ENOMEM;
vfd->fops = &video_fops;
- vfd->ioctl_ops = dev->ext_vv_data ? &dev->ext_vv_data->ops :
- &saa7146_video_ioctl_ops;
+ vfd->ioctl_ops = &dev->ext_vv_data->ops;
vfd->release = video_device_release;
+ vfd->tvnorms = 0;
+ for (i = 0; i < dev->ext_vv_data->num_stds; i++)
+ vfd->tvnorms |= dev->ext_vv_data->stds[i].id;
strlcpy(vfd->name, name, sizeof(vfd->name));
video_set_drvdata(vfd, dev);