diff options
Diffstat (limited to 'drivers/media/video/tvp5150.c')
-rw-r--r-- | drivers/media/video/tvp5150.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c index 9ed839d688eb..07ad675cd58e 100644 --- a/drivers/media/video/tvp5150.c +++ b/drivers/media/video/tvp5150.c | |||
@@ -850,6 +850,30 @@ static int tvp5150_command(struct i2c_client *c, | |||
850 | *(v4l2_std_id *)arg = decoder->norm; | 850 | *(v4l2_std_id *)arg = decoder->norm; |
851 | break; | 851 | break; |
852 | 852 | ||
853 | #ifdef CONFIG_VIDEO_ADV_DEBUG | ||
854 | case VIDIOC_INT_G_REGISTER: | ||
855 | { | ||
856 | struct v4l2_register *reg = arg; | ||
857 | |||
858 | if (reg->i2c_id != I2C_DRIVERID_TVP5150) | ||
859 | return -EINVAL; | ||
860 | reg->val = tvp5150_read(c, reg->reg & 0xff); | ||
861 | break; | ||
862 | } | ||
863 | |||
864 | case VIDIOC_INT_S_REGISTER: | ||
865 | { | ||
866 | struct v4l2_register *reg = arg; | ||
867 | |||
868 | if (reg->i2c_id != I2C_DRIVERID_TVP5150) | ||
869 | return -EINVAL; | ||
870 | if (!capable(CAP_SYS_ADMIN)) | ||
871 | return -EPERM; | ||
872 | tvp5150_write(c, reg->reg & 0xff, reg->val & 0xff); | ||
873 | break; | ||
874 | } | ||
875 | #endif | ||
876 | |||
853 | case DECODER_DUMP: | 877 | case DECODER_DUMP: |
854 | dump_reg(c); | 878 | dump_reg(c); |
855 | break; | 879 | break; |