diff options
author | Mike Isely <isely@pobox.com> | 2012-02-20 06:33:06 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-05-07 21:56:10 +0200 |
commit | d8329f8e17af85c568768fb268e0695dd1fc8148 (patch) | |
tree | 8c4c1e71e0b5893e87eff1af3b4900c6ed82493f /drivers/media/video/pvrusb2 | |
parent | [media][trival] pvrusb2: Fix truncated video standard names (diff) | |
download | linux-d8329f8e17af85c568768fb268e0695dd1fc8148.tar.xz linux-d8329f8e17af85c568768fb268e0695dd1fc8148.zip |
[media] pvrusb2: Base available video standards on what hardware supports
With the transition to ioctl2, the pvrusb2 driver's own standards
enumeration is no longer used. Instead a generic algorithm internal
to v4l is used (which is a great idea - since the pvrusb2
implementation itself was generic anyway). This change ensures that
the v4l algorithm works with the correct set of hardware supported
standards. This resolves a FIXME left behind from the videodev_ioctl2
transition.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/pvrusb2')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index ed497bbf539b..4c1a47470d39 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c @@ -1348,10 +1348,13 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev *dip, memcpy(&dip->devbase,&vdev_template,sizeof(vdev_template)); dip->devbase.release = pvr2_video_device_release; dip->devbase.ioctl_ops = &pvr2_ioctl_ops; - /* FIXME: tvnorms should be set to the set of supported standards - by this device. Then video_ioctl2 will implement VIDIOC_ENUMSTD - based on this field. */ - dip->devbase.tvnorms = V4L2_STD_ALL; + { + int val; + pvr2_ctrl_get_value( + pvr2_hdw_get_ctrl_by_id(vp->channel.mc_head->hdw, + PVR2_CID_STDAVAIL), &val); + dip->devbase.tvnorms = (v4l2_std_id)val; + } mindevnum = -1; unit_number = pvr2_hdw_get_unit_number(vp->channel.mc_head->hdw); |