V4L/DVB (9331): Remove unused inode parameter from video_ioctl2
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>
This commit is contained in:
parent
b1f88407f3
commit
8a522c916d
3 changed files with 22 additions and 12 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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];
|
||||
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue