diff options
author | Jean-François Moine <moinejf@free.fr> | 2012-02-27 08:37:37 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-03-08 08:04:46 -0300 |
commit | 6028c3268404c1323da09b1dc5bbff56b79364a1 (patch) | |
tree | 02fbd0eef3ccc7a7d729979d5b0aaa1a0183822a /drivers/media/video/gspca | |
parent | 0b74e2c460a4a3977f40c40580f1d7af4f976447 (diff) | |
download | op-kernel-dev-6028c3268404c1323da09b1dc5bbff56b79364a1.zip op-kernel-dev-6028c3268404c1323da09b1dc5bbff56b79364a1.tar.gz |
[media] gspca - zc3xx: Fix bad sensor values when changing autogain
The setexposure added in commit 590f21680616 works only for the sensor hv7131r,
but it is called for all sensors when changing the autogain.
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca')
-rw-r--r-- | drivers/media/video/gspca/zc3xx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c index 2ff96ca..0910006 100644 --- a/drivers/media/video/gspca/zc3xx.c +++ b/drivers/media/video/gspca/zc3xx.c @@ -5884,6 +5884,8 @@ static void getexposure(struct gspca_dev *gspca_dev) { struct sd *sd = (struct sd *) gspca_dev; + if (sd->sensor != SENSOR_HV7131R) + return; sd->ctrls[EXPOSURE].val = (i2c_read(gspca_dev, 0x25) << 9) | (i2c_read(gspca_dev, 0x26) << 1) | (i2c_read(gspca_dev, 0x27) >> 7); @@ -5894,6 +5896,8 @@ static void setexposure(struct gspca_dev *gspca_dev) struct sd *sd = (struct sd *) gspca_dev; int val; + if (sd->sensor != SENSOR_HV7131R) + return; val = sd->ctrls[EXPOSURE].val; i2c_write(gspca_dev, 0x25, val >> 9, 0x00); i2c_write(gspca_dev, 0x26, val >> 1, 0x00); |