aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/v4l2-dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/media/v4l2-dev.h')
-rw-r--r--include/media/v4l2-dev.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index d00b9d3511f2..a5ecec66d3c8 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -126,6 +126,7 @@ struct video_device
126 126
127 /* ioctl callbacks */ 127 /* ioctl callbacks */
128 const struct v4l2_ioctl_ops *ioctl_ops; 128 const struct v4l2_ioctl_ops *ioctl_ops;
129 DECLARE_BITMAP(valid_ioctls, BASE_VIDIOC_PRIVATE);
129 130
130 /* serialization lock */ 131 /* serialization lock */
131 DECLARE_BITMAP(dont_use_lock, BASE_VIDIOC_PRIVATE); 132 DECLARE_BITMAP(dont_use_lock, BASE_VIDIOC_PRIVATE);
@@ -184,6 +185,16 @@ static inline void v4l2_dont_use_lock(struct video_device *vdev, unsigned int cm
184 set_bit(_IOC_NR(cmd), vdev->dont_use_lock); 185 set_bit(_IOC_NR(cmd), vdev->dont_use_lock);
185} 186}
186 187
188/* Mark that this command isn't implemented, must be called before
189 video_device_register. See also the comments in determine_valid_ioctls().
190 This function allows drivers to provide just one v4l2_ioctl_ops struct, but
191 disable ioctls based on the specific card that is actually found. */
192static inline void v4l2_dont_use_cmd(struct video_device *vdev, unsigned int cmd)
193{
194 if (_IOC_NR(cmd) < BASE_VIDIOC_PRIVATE)
195 set_bit(_IOC_NR(cmd), vdev->valid_ioctls);
196}
197
187/* helper functions to access driver private data. */ 198/* helper functions to access driver private data. */
188static inline void *video_get_drvdata(struct video_device *vdev) 199static inline void *video_get_drvdata(struct video_device *vdev)
189{ 200{