summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/zc3xx.c
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2009-01-20 05:12:34 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:42:33 -0300
commit5be2b095b04b309267644ed6ecd1e092669fc4ad (patch)
tree9a4a40736b7d2f03df29692a0588bfd8666f6c3b /drivers/media/video/gspca/zc3xx.c
parent3d22118360cdf603ebce1a3b927139e23aa3b9b1 (diff)
downloadlinux-stable-5be2b095b04b309267644ed6ecd1e092669fc4ad.tar.gz
linux-stable-5be2b095b04b309267644ed6ecd1e092669fc4ad.tar.bz2
linux-stable-5be2b095b04b309267644ed6ecd1e092669fc4ad.zip
V4L/DVB (10374): gspca - zc3xx: Bad probe of the sensor adcm2700.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/zc3xx.c')
-rw-r--r--drivers/media/video/gspca/zc3xx.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/media/video/gspca/zc3xx.c b/drivers/media/video/gspca/zc3xx.c
index b986362bdd17..a2f25e35b844 100644
--- a/drivers/media/video/gspca/zc3xx.c
+++ b/drivers/media/video/gspca/zc3xx.c
@@ -7084,6 +7084,7 @@ static const struct sensor_by_chipset_revision chipset_revision_sensor[] = {
{0x8001, 0x13},
{0x8000, 0x14}, /* CS2102K */
{0x8400, 0x15}, /* TAS5130K */
+ {0x4001, 0x16}, /* ADCM2700 */
};
static int vga_3wr_probe(struct gspca_dev *gspca_dev)
@@ -7200,7 +7201,7 @@ static int vga_3wr_probe(struct gspca_dev *gspca_dev)
retword = i2c_read(gspca_dev, 0x01);
if (retword != 0) {
PDEBUG(D_PROBE, "probe 3wr vga type 0a ? ret: %04x", retword);
- return retword; /* 0x6200/0x6100?? */
+ return retword;
}
return -1;
}
@@ -7348,6 +7349,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
sd->chip_revision);
sd->sensor = SENSOR_TAS5130CK;
break;
+ case 0x16:
+ PDEBUG(D_PROBE, "Find Sensor ADCM2700");
+ sd->sensor = SENSOR_ADCM2700;
+ break;
case 0x29:
PDEBUG(D_PROBE, "Find Sensor GC0305");
sd->sensor = SENSOR_GC0305;
@@ -7361,12 +7366,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
sd->sensor = SENSOR_PO2030;
sd->sharpness = 0; /* from win traces */
break;
- case 0x6100:
- case 0x6200:
- PDEBUG(D_PROBE, "Find Sensor ADCM2700");
- sd->sensor = SENSOR_ADCM2700;
- send_unknown(gspca_dev->dev, sd->sensor);
- break;
case 0x7620:
PDEBUG(D_PROBE, "Find Sensor OV7620");
sd->sensor = SENSOR_OV7620;
@@ -7376,7 +7375,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
sd->sensor = SENSOR_OV7620; /* same sensor (?) */
break;
default:
- PDEBUG(D_ERR|D_PROBE, "Unknown sensor %02x", sensor);
+ PDEBUG(D_ERR|D_PROBE, "Unknown sensor %04x", sensor);
return -EINVAL;
}
}