diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2008-12-30 04:58:20 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-01-02 14:11:12 -0500 |
commit | bec43661b1dc0075b7445223ba775674133b164d (patch) | |
tree | 2a09ad5cc78799985e5cfb789f0a23db58e70499 /include/media/v4l2-ioctl.h | |
parent | dfa9a5ae679ff2d23caa995d0f55a19abaf0596e (diff) |
V4L/DVB (10135): v4l2: introduce v4l2_file_operations.
Introduce a struct v4l2_file_operations for v4l2 drivers.
Remove the unnecessary inode argument.
Move compat32 handling (and llseek) into the v4l2-dev core: this is now
handled in the v4l2 core and no longer in the drivers themselves.
Note that this changeset reverts an earlier patch that changed the return
type of__video_ioctl2 from int to long. This change will be reinstated
later in a much improved version.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/v4l2-ioctl.h')
-rw-r--r-- | include/media/v4l2-ioctl.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index fcdb58c4ce07..835af438e4f8 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h | |||
@@ -286,27 +286,18 @@ int v4l_compat_translate_ioctl(struct file *file, | |||
286 | #define v4l_compat_translate_ioctl(file, cmd, arg, ioctl) (-EINVAL) | 286 | #define v4l_compat_translate_ioctl(file, cmd, arg, ioctl) (-EINVAL) |
287 | #endif | 287 | #endif |
288 | 288 | ||
289 | #ifdef CONFIG_COMPAT | ||
289 | /* 32 Bits compatibility layer for 64 bits processors */ | 290 | /* 32 Bits compatibility layer for 64 bits processors */ |
290 | extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd, | 291 | extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd, |
291 | unsigned long arg); | 292 | unsigned long arg); |
293 | #endif | ||
292 | 294 | ||
293 | /* Include support for obsoleted stuff */ | 295 | /* Include support for obsoleted stuff */ |
294 | extern int video_usercopy(struct file *file, unsigned int cmd, | 296 | extern int video_usercopy(struct file *file, unsigned int cmd, |
295 | unsigned long arg, v4l2_kioctl func); | 297 | unsigned long arg, v4l2_kioctl func); |
296 | 298 | ||
297 | /* Standard handlers for V4L ioctl's */ | 299 | /* Standard handlers for V4L ioctl's */ |
298 | 300 | extern int video_ioctl2(struct file *file, | |
299 | /* This prototype is used on fops.unlocked_ioctl */ | ||
300 | extern long __video_ioctl2(struct file *file, | ||
301 | unsigned int cmd, unsigned long arg); | ||
302 | |||
303 | /* This prototype is used on fops.ioctl | ||
304 | * Since fops.ioctl enables Kernel Big Lock, it is preferred | ||
305 | * to use __video_ioctl2 instead. | ||
306 | * It should be noticed that there's no lock code inside | ||
307 | * video_ioctl2(). | ||
308 | */ | ||
309 | extern int video_ioctl2(struct inode *inode, struct file *file, | ||
310 | unsigned int cmd, unsigned long arg); | 301 | unsigned int cmd, unsigned long arg); |
311 | 302 | ||
312 | #endif /* _V4L2_IOCTL_H */ | 303 | #endif /* _V4L2_IOCTL_H */ |