V4L/DVB (5162): Change VIDIOC_DBG_[SG]_REGISTER ioctls' reg address to 64 bits
Maybe someday there will be a device with a register address space >
32-bits, or maybe an i2c device which uses a protocol > 4 bytes long to
address its registers.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c
index d20d4ca..1f35925 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -754,15 +754,17 @@
p->id,p->index,p->name);
break;
}
+#ifdef CONFIG_VIDEO_ADV_DEBUG
case VIDIOC_DBG_G_REGISTER:
case VIDIOC_DBG_S_REGISTER:
{
struct v4l2_register *p=arg;
- printk ("%s: i2c_id=%d, reg=%d, val=%d\n", s,
- p->i2c_id,p->reg,p->val);
+ printk ("%s: i2c_id=%d, reg=%llu, val=%u\n", s,
+ p->i2c_id,(unsigned long long)p->reg,p->val);
break;
}
+#endif
case VIDIOC_REQBUFS:
{
struct v4l2_requestbuffers *p=arg;
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index fe6ccdf..ad4de64 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1276,8 +1276,8 @@
/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */
struct v4l2_register {
+ __u64 reg;
__u32 i2c_id; /* I2C driver ID of the I2C chip, or 0 for the host */
- __u32 reg;
__u32 val;
};