Skip to content

Commit

Permalink
V4L/DVB (9331): Remove unused inode parameter from video_ioctl2
Browse files Browse the repository at this point in the history
inode is never used on video_ioctl2. Remove it and rename the function to
__video_ioctl2. This allows its usage directly as a callback at
fops.unlocked_ioctl.

Since we still need a callback with inode to be used with fops.ioctl,
this patch adds video_ioctl2() that is just a call to __video_ioctl2().

Also, this patch adds some comments about video_ioctl2 and __video_ioctl2
usage at v4l2-ioctl.h.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed Oct 21, 2008
1 parent b1f8840 commit 8a522c9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 12 deletions.
2 changes: 1 addition & 1 deletion drivers/media/video/ivtv/ivtv-ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1830,7 +1830,7 @@ static long ivtv_serialized_ioctl(struct ivtv *itv, struct file *filp,

if (ivtv_debug & IVTV_DBGFLG_IOCTL)
vfd->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG;
ret = video_ioctl2_unlocked(filp, cmd, arg);
ret = __video_ioctl2(filp, cmd, arg);
vfd->debug = 0;
return ret;
}
Expand Down
12 changes: 6 additions & 6 deletions drivers/media/video/v4l2-ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1768,7 +1768,7 @@ static int __video_do_ioctl(struct file *file,
return ret;
}

int video_ioctl2(struct inode *inode, struct file *file,
int __video_ioctl2(struct file *file,
unsigned int cmd, unsigned long arg)
{
char sbuf[128];
Expand Down Expand Up @@ -1860,11 +1860,11 @@ int video_ioctl2(struct inode *inode, struct file *file,
kfree(mbuf);
return err;
}
EXPORT_SYMBOL(video_ioctl2);
EXPORT_SYMBOL(__video_ioctl2);

long video_ioctl2_unlocked(struct file *file,
unsigned int cmd, unsigned long arg)
int video_ioctl2(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
{
return video_ioctl2(file->f_path.dentry->d_inode, file, cmd, arg);
return __video_ioctl2(file, cmd, arg);
}
EXPORT_SYMBOL(video_ioctl2_unlocked);
EXPORT_SYMBOL(video_ioctl2);
20 changes: 15 additions & 5 deletions include/media/v4l2-ioctl.h
Original file line number Diff line number Diff line change
Expand Up @@ -284,15 +284,25 @@ int v4l_compat_translate_ioctl(struct file *file,
extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd,
unsigned long arg);

extern int video_ioctl2(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg);
extern long video_ioctl2_unlocked(struct file *file,
unsigned int cmd, unsigned long arg);

/* Include support for obsoleted stuff */
extern int video_usercopy(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg,
int (*func)(struct inode *inode, struct file *file,
unsigned int cmd, void *arg));

/* Standard handlers for V4L ioctl's */

/* This prototype is used on fops.unlocked_ioctl */
extern int __video_ioctl2(struct file *file,
unsigned int cmd, unsigned long arg);

/* This prototype is used on fops.ioctl
* Since fops.ioctl enables Kernel Big Lock, it is preferred
* to use __video_ioctl2 instead.
* It should be noticed that there's no lock code inside
* video_ioctl2().
*/
extern int video_ioctl2(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg);

#endif /* _V4L2_IOCTL_H */

0 comments on commit 8a522c9

Please sign in to comment.