|
@@ -850,6 +850,30 @@ static int tvp5150_command(struct i2c_client *c,
|
|
|
*(v4l2_std_id *)arg = decoder->norm;
|
|
|
break;
|
|
|
|
|
|
+#ifdef CONFIG_VIDEO_ADV_DEBUG
|
|
|
+ case VIDIOC_INT_G_REGISTER:
|
|
|
+ {
|
|
|
+ struct v4l2_register *reg = arg;
|
|
|
+
|
|
|
+ if (reg->i2c_id != I2C_DRIVERID_TVP5150)
|
|
|
+ return -EINVAL;
|
|
|
+ reg->val = tvp5150_read(c, reg->reg & 0xff);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ case VIDIOC_INT_S_REGISTER:
|
|
|
+ {
|
|
|
+ struct v4l2_register *reg = arg;
|
|
|
+
|
|
|
+ if (reg->i2c_id != I2C_DRIVERID_TVP5150)
|
|
|
+ return -EINVAL;
|
|
|
+ if (!capable(CAP_SYS_ADMIN))
|
|
|
+ return -EPERM;
|
|
|
+ tvp5150_write(c, reg->reg & 0xff, reg->val & 0xff);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+#endif
|
|
|
+
|
|
|
case DECODER_DUMP:
|
|
|
dump_reg(c);
|
|
|
break;
|