From fe2b2ecea4ca8dd424210eb47abc6d8b98e76346 Mon Sep 17 00:00:00 2001 From: Martin Hostettler Date: Mon, 19 Sep 2011 02:04:56 -0300 Subject: [PATCH] --- yaml --- r: 271894 b: refs/heads/master c: 69967a71ae6ebe7aace94ef15f269b8bf2b5ce1e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/v4l2-subdev.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 775c62b75a85..8865bf16349a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eb39a303d5561dd7d07af9052f6dd596dfdcf275 +refs/heads/master: 69967a71ae6ebe7aace94ef15f269b8bf2b5ce1e diff --git a/trunk/drivers/media/video/v4l2-subdev.c b/trunk/drivers/media/video/v4l2-subdev.c index b7967c9dc4ae..179e20e23fc4 100644 --- a/trunk/drivers/media/video/v4l2-subdev.c +++ b/trunk/drivers/media/video/v4l2-subdev.c @@ -173,6 +173,25 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg) case VIDIOC_UNSUBSCRIBE_EVENT: return v4l2_subdev_call(sd, core, unsubscribe_event, vfh, arg); + +#ifdef CONFIG_VIDEO_ADV_DEBUG + case VIDIOC_DBG_G_REGISTER: + { + struct v4l2_dbg_register *p = arg; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + return v4l2_subdev_call(sd, core, g_register, p); + } + case VIDIOC_DBG_S_REGISTER: + { + struct v4l2_dbg_register *p = arg; + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; + return v4l2_subdev_call(sd, core, s_register, p); + } +#endif #if defined(CONFIG_VIDEO_V4L2_SUBDEV_API) case VIDIOC_SUBDEV_G_FMT: { struct v4l2_subdev_format *format = arg;