Commit 21dcd8cc authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (3234): Included advanced debug option to tvp5150.c


- Included advanced debug option to tvp5150.c
- Now, advanced debug info is the first item at V4L menu.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@brturbo.com.br>
parent 9bb13a6d
...@@ -7,6 +7,15 @@ menu "Video For Linux" ...@@ -7,6 +7,15 @@ menu "Video For Linux"
comment "Video Adapters" comment "Video Adapters"
config VIDEO_ADV_DEBUG
bool "Enable advanced debug functionality"
depends on VIDEO_DEV
default n
---help---
Say Y here to enable advanced debugging functionality on some
V4L devices.
In doubt, say N.
config VIDEO_BT848 config VIDEO_BT848
tristate "BT848 Video For Linux" tristate "BT848 Video For Linux"
depends on VIDEO_DEV && PCI && I2C depends on VIDEO_DEV && PCI && I2C
...@@ -344,11 +353,4 @@ config VIDEO_DECODER ...@@ -344,11 +353,4 @@ config VIDEO_DECODER
Say Y here to compile drivers for SAA7115, SAA7127 and CX25840 Say Y here to compile drivers for SAA7115, SAA7127 and CX25840
video decoders. video decoders.
config VIDEO_ADV_DEBUG
bool "Enable advanced debug functionality"
depends on VIDEO_DEV && VIDEO_DECODER && EXPERIMENTAL
---help---
Say Y here to enable advanced debugging functionality in the
SAA7115, SAA7127 and CX25840 video decoders.
endmenu endmenu
...@@ -850,6 +850,30 @@ static int tvp5150_command(struct i2c_client *c, ...@@ -850,6 +850,30 @@ static int tvp5150_command(struct i2c_client *c,
*(v4l2_std_id *)arg = decoder->norm; *(v4l2_std_id *)arg = decoder->norm;
break; 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: case DECODER_DUMP:
dump_reg(c); dump_reg(c);
break; break;
......
...@@ -103,6 +103,7 @@ ...@@ -103,6 +103,7 @@
#define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */ #define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */
#define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */ #define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */
#define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */ #define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */
#define I2C_DRIVERID_TVP5150 76 /* TVP5150 video decoder */
#define I2C_DRIVERID_I2CDEV 900 #define I2C_DRIVERID_I2CDEV 900
#define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */ #define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment