summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/uvc/uvcvideo.h
diff options
context:
space:
mode:
authorMartin Rubli <martin_rubli@logitech.com>2010-09-08 04:15:23 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-21 01:18:22 -0200
commit8fb91b33c6bfa3ac5e4ad76920b7bcd7bdbbb6d0 (patch)
treec7e33ca829580a6a8d8f8808c4b860cf12a2cbca /drivers/media/video/uvc/uvcvideo.h
parentba2fa99668bb9bf03757a020f15bba295d5c0a3e (diff)
[media] uvcvideo: Remove sysadmin requirements for UVCIOC_CTRL_MAP
This patch removes the sysadmin requirements for UVCIOC_CTRL_MAP (and the stub implementation of UVCIOC_CTRL_ADD). This requirement no longer makes sense with the new XU control access mechanisms since XU controls can be accessed without adding control mappings first. A maximum number (currently 1024) of control mappings per device is enforced to avoid excess memory consumption caused by careless user space applications. Signed-off-by: Martin Rubli <martin_rubli@logitech.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/uvc/uvcvideo.h')
-rw-r--r--drivers/media/video/uvc/uvcvideo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/uvc/uvcvideo.h b/drivers/media/video/uvc/uvcvideo.h
index 34637fbbbd6..39e9e36e883 100644
--- a/drivers/media/video/uvc/uvcvideo.h
+++ b/drivers/media/video/uvc/uvcvideo.h
@@ -172,6 +172,9 @@ struct uvc_xu_control {
#define UVC_CTRL_CONTROL_TIMEOUT 300
#define UVC_CTRL_STREAMING_TIMEOUT 5000
+/* Maximum allowed number of control mappings per device */
+#define UVC_MAX_CONTROL_MAPPINGS 1024
+
/* Devices quirks */
#define UVC_QUIRK_STATUS_INTERVAL 0x00000001
#define UVC_QUIRK_PROBE_MINMAX 0x00000002
@@ -472,6 +475,7 @@ struct uvc_device {
enum uvc_device_state state;
atomic_t users;
+ atomic_t nmappings;
/* Video control interface */
__u16 uvc_version;