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 /drivers/media/video/zoran | |
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 'drivers/media/video/zoran')
-rw-r--r-- | drivers/media/video/zoran/zoran_driver.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c index 00b97d97aeaa..ce4a5e5f9d25 100644 --- a/drivers/media/video/zoran/zoran_driver.c +++ b/drivers/media/video/zoran/zoran_driver.c | |||
@@ -1197,10 +1197,9 @@ zoran_close_end_session (struct file *file) | |||
1197 | */ | 1197 | */ |
1198 | 1198 | ||
1199 | static int | 1199 | static int |
1200 | zoran_open (struct inode *inode, | 1200 | zoran_open(struct file *file) |
1201 | struct file *file) | ||
1202 | { | 1201 | { |
1203 | unsigned int minor = iminor(inode); | 1202 | unsigned int minor = video_devdata(file)->minor; |
1204 | struct zoran *zr = NULL; | 1203 | struct zoran *zr = NULL; |
1205 | struct zoran_fh *fh; | 1204 | struct zoran_fh *fh; |
1206 | int i, res, first_open = 0, have_module_locks = 0; | 1205 | int i, res, first_open = 0, have_module_locks = 0; |
@@ -1340,8 +1339,7 @@ open_unlock_and_return: | |||
1340 | } | 1339 | } |
1341 | 1340 | ||
1342 | static int | 1341 | static int |
1343 | zoran_close (struct inode *inode, | 1342 | zoran_close(struct file *file) |
1344 | struct file *file) | ||
1345 | { | 1343 | { |
1346 | struct zoran_fh *fh = file->private_data; | 1344 | struct zoran_fh *fh = file->private_data; |
1347 | struct zoran *zr = fh->zr; | 1345 | struct zoran *zr = fh->zr; |
@@ -4192,10 +4190,9 @@ static int zoran_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
4192 | 4190 | ||
4193 | 4191 | ||
4194 | static int | 4192 | static int |
4195 | zoran_ioctl (struct inode *inode, | 4193 | zoran_ioctl(struct file *file, |
4196 | struct file *file, | 4194 | unsigned int cmd, |
4197 | unsigned int cmd, | 4195 | unsigned long arg) |
4198 | unsigned long arg) | ||
4199 | { | 4196 | { |
4200 | return video_usercopy(file, cmd, arg, zoran_do_ioctl); | 4197 | return video_usercopy(file, cmd, arg, zoran_do_ioctl); |
4201 | } | 4198 | } |
@@ -4620,15 +4617,11 @@ zoran_mmap (struct file *file, | |||
4620 | return 0; | 4617 | return 0; |
4621 | } | 4618 | } |
4622 | 4619 | ||
4623 | static const struct file_operations zoran_fops = { | 4620 | static const struct v4l2_file_operations zoran_fops = { |
4624 | .owner = THIS_MODULE, | 4621 | .owner = THIS_MODULE, |
4625 | .open = zoran_open, | 4622 | .open = zoran_open, |
4626 | .release = zoran_close, | 4623 | .release = zoran_close, |
4627 | .ioctl = zoran_ioctl, | 4624 | .ioctl = zoran_ioctl, |
4628 | #ifdef CONFIG_COMPAT | ||
4629 | .compat_ioctl = v4l_compat_ioctl32, | ||
4630 | #endif | ||
4631 | .llseek = no_llseek, | ||
4632 | .read = zoran_read, | 4625 | .read = zoran_read, |
4633 | .write = zoran_write, | 4626 | .write = zoran_write, |
4634 | .mmap = zoran_mmap, | 4627 | .mmap = zoran_mmap, |