[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-id: <20061005025955.PS1161090002@infradead.org>
Date: Wed, 04 Oct 2006 23:59:55 -0300
From: mchehab@...radead.org
To: linux-kernel@...r.kernel.org
Cc: linux-dvb-maintainer@...uxtv.org,
Trent Piepho <xyzzy@...akeasy.org>,
Mauro Carvalho Chehab <mchehab@...radead.org>
Subject: [PATCH 2/2] V4L/DVB (4722): Cx88: Add support for
VIDIOC_INT_[SR]_REGISTER ioctls
From: Trent Piepho <xyzzy@...akeasy.org>
Add support for the advanced debugging ioctls, to allow access to the
cx88 registers from userspace. Only i2c_id == 0 is supported, for access
to the cx88 adapter itself. There isn't any support for access to I2C
clients of the adapter. Most of them don't have R/W registers anyway,
and its necessary to use i2c-dev to talk to them from userspace.
Signed-off-by: Trent Piepho <xyzzy@...akeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@...radead.org>
---
drivers/media/video/cx88/cx88-video.c | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index cb0c0ee..264cd29 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1490,6 +1490,30 @@ int cx88_do_ioctl(struct inode *inode, s
mutex_unlock(&core->lock);
return 0;
}
+#ifdef CONFIG_VIDEO_ADV_DEBUG
+ /* ioctls to allow direct acces to the cx2388x registers */
+ case VIDIOC_INT_G_REGISTER:
+ {
+ struct v4l2_register *reg = arg;
+
+ if (reg->i2c_id != 0)
+ return -EINVAL;
+ /* cx2388x has a 24-bit register space */
+ reg->val = cx_read(reg->reg&0xffffff);
+ return 0;
+ }
+ case VIDIOC_INT_S_REGISTER:
+ {
+ struct v4l2_register *reg = arg;
+
+ if (reg->i2c_id != 0)
+ return -EINVAL;
+ if (!capable(CAP_SYS_ADMIN))
+ return -EPERM;
+ cx_write(reg->reg&0xffffff, reg->val);
+ return 0;
+ }
+#endif
default:
return v4l_compat_translate_ioctl(inode,file,cmd,arg,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists