aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Schilling Landgraf <dougsland@gmail.com>2008-04-10 01:18:56 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 14:09:45 -0300
commit130ca945d83637046bde4943629f011e22831fd3 (patch)
treea93e328a715c8c26c4b3d8563fc2a6b479f947e7
parent87dd965f101bafea7c5e507f686814a0f0057417 (diff)
V4L/DVB (7665): videodev: Add default vidioc handler
Added default vidioc handler for other private ioctls Signed-off-by: Douglas Schilling Landgraf <dougsland@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/videodev.c7
-rw-r--r--include/media/v4l2-dev.h4
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c
index effcd2ae415..31e8af0ba27 100644
--- a/drivers/media/video/videodev.c
+++ b/drivers/media/video/videodev.c
@@ -1861,6 +1861,13 @@ static int __video_do_ioctl(struct inode *inode, struct file *file,
dbgarg (cmd, "chip_ident=%u, revision=0x%x\n", p->ident, p->revision);
break;
}
+ default:
+ {
+ if (!vfd->vidioc_default)
+ break;
+ ret = vfd->vidioc_default(file, fh, cmd, arg);
+ break;
+ }
} /* switch */
if (vfd->debug & V4L2_DEBUG_IOCTL_ARG) {
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index f2114459995..a807d2f86ee 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -318,6 +318,10 @@ struct video_device
int (*vidioc_g_chip_ident) (struct file *file, void *fh,
struct v4l2_chip_ident *chip);
+ /* For other private ioctls */
+ int (*vidioc_default) (struct file *file, void *fh,
+ int cmd, void *arg);
+
#ifdef OBSOLETE_OWNER /* to be removed soon */
/* obsolete -- fops->owner is used instead */