aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/v4l2-core/v4l2-dev.c
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-06-03 04:36:50 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-06-17 08:39:53 -0400
commitca37157506ef53dcf41132aaedab70659509ccee (patch)
treefe446691366fe20d7b579bb390a94efe7f778384 /drivers/media/v4l2-core/v4l2-dev.c
parent8f73d3bbf8b1114b1ae5ac8950104b3d5d01c7d2 (diff)
[media] v4l2: remove deprecated current_norm support completely
The use of current_norm to keep track of the current standard has been deprecated for quite some time. Now that all drivers that were using it have been converted to use g_std we can drop it from the core. It was a bad idea to introduce this at the time: since it is a per-device node field it didn't work for drivers that create multiple nodes, all sharing the same tuner (e.g. video and vbi nodes, or a raw video node and a compressed video node). In addition it was very surprising behavior that g_std was implemented in the core. Often drivers implemented both g_std and current_norm, because they didn't understand how it should be used. Since the benefits were very limited (if they were there at all), it is better to just drop it and require that drivers just implement g_std. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-dev.c')
-rw-r--r--drivers/media/v4l2-core/v4l2-dev.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
index 5923c5dfacd5..2f3fac5345db 100644
--- a/drivers/media/v4l2-core/v4l2-dev.c
+++ b/drivers/media/v4l2-core/v4l2-dev.c
@@ -675,9 +675,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
675 SET_VALID_IOCTL(ops, VIDIOC_PREPARE_BUF, vidioc_prepare_buf); 675 SET_VALID_IOCTL(ops, VIDIOC_PREPARE_BUF, vidioc_prepare_buf);
676 if (ops->vidioc_s_std) 676 if (ops->vidioc_s_std)
677 set_bit(_IOC_NR(VIDIOC_ENUMSTD), valid_ioctls); 677 set_bit(_IOC_NR(VIDIOC_ENUMSTD), valid_ioctls);
678 if (ops->vidioc_g_std || vdev->current_norm)
679 set_bit(_IOC_NR(VIDIOC_G_STD), valid_ioctls);
680 SET_VALID_IOCTL(ops, VIDIOC_S_STD, vidioc_s_std); 678 SET_VALID_IOCTL(ops, VIDIOC_S_STD, vidioc_s_std);
679 SET_VALID_IOCTL(ops, VIDIOC_G_STD, vidioc_g_std);
681 if (is_rx) { 680 if (is_rx) {
682 SET_VALID_IOCTL(ops, VIDIOC_QUERYSTD, vidioc_querystd); 681 SET_VALID_IOCTL(ops, VIDIOC_QUERYSTD, vidioc_querystd);
683 SET_VALID_IOCTL(ops, VIDIOC_ENUMINPUT, vidioc_enum_input); 682 SET_VALID_IOCTL(ops, VIDIOC_ENUMINPUT, vidioc_enum_input);
@@ -705,7 +704,7 @@ static void determine_valid_ioctls(struct video_device *vdev)
705 if (ops->vidioc_cropcap || ops->vidioc_g_selection) 704 if (ops->vidioc_cropcap || ops->vidioc_g_selection)
706 set_bit(_IOC_NR(VIDIOC_CROPCAP), valid_ioctls); 705 set_bit(_IOC_NR(VIDIOC_CROPCAP), valid_ioctls);
707 if (ops->vidioc_g_parm || (vdev->vfl_type == VFL_TYPE_GRABBER && 706 if (ops->vidioc_g_parm || (vdev->vfl_type == VFL_TYPE_GRABBER &&
708 (ops->vidioc_g_std || vdev->current_norm))) 707 ops->vidioc_g_std))
709 set_bit(_IOC_NR(VIDIOC_G_PARM), valid_ioctls); 708 set_bit(_IOC_NR(VIDIOC_G_PARM), valid_ioctls);
710 SET_VALID_IOCTL(ops, VIDIOC_S_PARM, vidioc_s_parm); 709 SET_VALID_IOCTL(ops, VIDIOC_S_PARM, vidioc_s_parm);
711 SET_VALID_IOCTL(ops, VIDIOC_S_DV_TIMINGS, vidioc_s_dv_timings); 710 SET_VALID_IOCTL(ops, VIDIOC_S_DV_TIMINGS, vidioc_s_dv_timings);