From: Hans Verkuil Date: Mon, 26 Jan 2009 22:13:05 +0000 (-0300) Subject: V4L/DVB (10313): saa7146: fix VIDIOC_ENUMSTD. X-Git-Tag: firefly_0821_release~15196^2~658 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d0852ed27c650237800470b5cbde368316813406;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: Mauro Carvalho Chehab --- 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);