[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>
This commit is contained in:
Mike Isely 2012-02-20 02:33:06 -03:00 committed by Mauro Carvalho Chehab
parent 99ba1514ae
commit d8329f8e17

View File

@ -1348,10 +1348,13 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev *dip,
memcpy(&dip->devbase,&vdev_template,sizeof(vdev_template)); memcpy(&dip->devbase,&vdev_template,sizeof(vdev_template));
dip->devbase.release = pvr2_video_device_release; dip->devbase.release = pvr2_video_device_release;
dip->devbase.ioctl_ops = &pvr2_ioctl_ops; 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 int val;
based on this field. */ pvr2_ctrl_get_value(
dip->devbase.tvnorms = V4L2_STD_ALL; pvr2_hdw_get_ctrl_by_id(vp->channel.mc_head->hdw,
PVR2_CID_STDAVAIL), &val);
dip->devbase.tvnorms = (v4l2_std_id)val;
}
mindevnum = -1; mindevnum = -1;
unit_number = pvr2_hdw_get_unit_number(vp->channel.mc_head->hdw); unit_number = pvr2_hdw_get_unit_number(vp->channel.mc_head->hdw);