aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/v4l2-core/v4l2-dev.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-05 19:36:30 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-05 19:36:30 -0400
commitf4d33337eac4007793ca11fd1ab68d91ce7aa762 (patch)
treeb775ad213179822225a3e1c1a27e4cc16f8aff68 /drivers/media/v4l2-core/v4l2-dev.c
parent91c2ff7708d4edf73ef1f0abb3ea4a44b4b0cf1d (diff)
parent0f3bf3dc1ca394a8385079a5653088672b65c5c4 (diff)
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - removal of sn9c102. This device driver was replaced a long time ago by gspca - solo6x10 and go7007 webcam drivers moved from staging into mainstream. They were waiting for an API to allow setting the image detection matrix - SDR drivers moved from staging into mainstream: sdr-msi3101 (renamed as msi2500) and rtl2832 - added SDR driver for airspy - added demux driver: si2165 - rework at several RC subsystem, making the code for RC-5 SZ variant to be added at the standard RC5 decoder - added decoder for the XMP IR protocol - tuner driver moved from staging into mainstream: msi3101 (renamed as msi001) - added documentation for some additional SDR pixfmt - some device tree bindings documented - added support for exynos3250 at s5p-jpeg - remove the obsolete, unmaintained and broken mx1_camera driver - added support for remote controllers at au0828 driver - added a RC driver: sunxi-cir - several driver fixes, enhancements and cleanups. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (455 commits) [media] cx23885: fix UNSET/TUNER_ABSENT confusion [media] coda: fix build error by making reset control optional [media] radio-miropcm20: fix sparse NULL pointer warning [media] MAINTAINERS: Update go7007 pattern [media] MAINTAINERS: Update solo6x10 patterns [media] media: atmel-isi: add primary DT support [media] media: atmel-isi: convert the pdata from pointer to structure [media] media: atmel-isi: add v4l2 async probe support [media] rcar_vin: add devicetree support [media] media: pxa_camera device-tree support [media] media: mt9m111: add device-tree suppport [media] soc_camera: add support for dt binding soc_camera drivers [media] media: soc_camera: pxa_camera documentation device-tree support [media] media: mt9m111: add device-tree documentation [media] s5p-mfc: remove unnecessary calling to function video_devdata() [media] s5p-jpeg: add chroma subsampling adjustment for Exynos3250 [media] s5p-jpeg: Prevent erroneous downscaling for Exynos3250 SoC [media] s5p-jpeg: Assure proper crop rectangle initialization [media] s5p-jpeg: fix g_selection op [media] s5p-jpeg: Adjust jpeg_bound_align_image to Exynos3250 needs ...
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-dev.c')
-rw-r--r--drivers/media/v4l2-core/v4l2-dev.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
index 634d863c05b4..33617c365acc 100644
--- a/drivers/media/v4l2-core/v4l2-dev.c
+++ b/drivers/media/v4l2-core/v4l2-dev.c
@@ -335,7 +335,7 @@ static unsigned int v4l2_poll(struct file *filp, struct poll_table_struct *poll)
335 return DEFAULT_POLLMASK; 335 return DEFAULT_POLLMASK;
336 if (video_is_registered(vdev)) 336 if (video_is_registered(vdev))
337 res = vdev->fops->poll(filp, poll); 337 res = vdev->fops->poll(filp, poll);
338 if (vdev->debug) 338 if (vdev->debug > 2)
339 printk(KERN_DEBUG "%s: poll: %08x\n", 339 printk(KERN_DEBUG "%s: poll: %08x\n",
340 video_device_node_name(vdev), res); 340 video_device_node_name(vdev), res);
341 return res; 341 return res;
@@ -563,20 +563,18 @@ static void determine_valid_ioctls(struct video_device *vdev)
563 /* vfl_type and vfl_dir independent ioctls */ 563 /* vfl_type and vfl_dir independent ioctls */
564 564
565 SET_VALID_IOCTL(ops, VIDIOC_QUERYCAP, vidioc_querycap); 565 SET_VALID_IOCTL(ops, VIDIOC_QUERYCAP, vidioc_querycap);
566 if (ops->vidioc_g_priority || 566 if (ops->vidioc_g_priority)
567 test_bit(V4L2_FL_USE_FH_PRIO, &vdev->flags))
568 set_bit(_IOC_NR(VIDIOC_G_PRIORITY), valid_ioctls); 567 set_bit(_IOC_NR(VIDIOC_G_PRIORITY), valid_ioctls);
569 if (ops->vidioc_s_priority || 568 if (ops->vidioc_s_priority)
570 test_bit(V4L2_FL_USE_FH_PRIO, &vdev->flags))
571 set_bit(_IOC_NR(VIDIOC_S_PRIORITY), valid_ioctls); 569 set_bit(_IOC_NR(VIDIOC_S_PRIORITY), valid_ioctls);
572 SET_VALID_IOCTL(ops, VIDIOC_STREAMON, vidioc_streamon);
573 SET_VALID_IOCTL(ops, VIDIOC_STREAMOFF, vidioc_streamoff);
574 /* Note: the control handler can also be passed through the filehandle, 570 /* Note: the control handler can also be passed through the filehandle,
575 and that can't be tested here. If the bit for these control ioctls 571 and that can't be tested here. If the bit for these control ioctls
576 is set, then the ioctl is valid. But if it is 0, then it can still 572 is set, then the ioctl is valid. But if it is 0, then it can still
577 be valid if the filehandle passed the control handler. */ 573 be valid if the filehandle passed the control handler. */
578 if (vdev->ctrl_handler || ops->vidioc_queryctrl) 574 if (vdev->ctrl_handler || ops->vidioc_queryctrl)
579 set_bit(_IOC_NR(VIDIOC_QUERYCTRL), valid_ioctls); 575 set_bit(_IOC_NR(VIDIOC_QUERYCTRL), valid_ioctls);
576 if (vdev->ctrl_handler || ops->vidioc_query_ext_ctrl)
577 set_bit(_IOC_NR(VIDIOC_QUERY_EXT_CTRL), valid_ioctls);
580 if (vdev->ctrl_handler || ops->vidioc_g_ctrl || ops->vidioc_g_ext_ctrls) 578 if (vdev->ctrl_handler || ops->vidioc_g_ctrl || ops->vidioc_g_ext_ctrls)
581 set_bit(_IOC_NR(VIDIOC_G_CTRL), valid_ioctls); 579 set_bit(_IOC_NR(VIDIOC_G_CTRL), valid_ioctls);
582 if (vdev->ctrl_handler || ops->vidioc_s_ctrl || ops->vidioc_s_ext_ctrls) 580 if (vdev->ctrl_handler || ops->vidioc_s_ctrl || ops->vidioc_s_ext_ctrls)
@@ -684,6 +682,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
684 SET_VALID_IOCTL(ops, VIDIOC_DQBUF, vidioc_dqbuf); 682 SET_VALID_IOCTL(ops, VIDIOC_DQBUF, vidioc_dqbuf);
685 SET_VALID_IOCTL(ops, VIDIOC_CREATE_BUFS, vidioc_create_bufs); 683 SET_VALID_IOCTL(ops, VIDIOC_CREATE_BUFS, vidioc_create_bufs);
686 SET_VALID_IOCTL(ops, VIDIOC_PREPARE_BUF, vidioc_prepare_buf); 684 SET_VALID_IOCTL(ops, VIDIOC_PREPARE_BUF, vidioc_prepare_buf);
685 SET_VALID_IOCTL(ops, VIDIOC_STREAMON, vidioc_streamon);
686 SET_VALID_IOCTL(ops, VIDIOC_STREAMOFF, vidioc_streamoff);
687 } 687 }
688 688
689 if (is_vid || is_vbi) { 689 if (is_vid || is_vbi) {