summaryrefslogtreecommitdiff
path: root/linux/drivers/media
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2009-01-20 09:12:34 +0100
committerJean-Francois Moine <moinejf@free.fr>2009-01-20 09:12:34 +0100
commitabb1079c763e18e9ce439cb735be87aa23d8475c (patch)
treed455bb667d6da2ec9c71940e0ed8e6184266e470 /linux/drivers/media
parent81918f1cd02153ce200d15d7113932aa42a270e6 (diff)
downloadmediapointer-dvb-s2-abb1079c763e18e9ce439cb735be87aa23d8475c.tar.gz
mediapointer-dvb-s2-abb1079c763e18e9ce439cb735be87aa23d8475c.tar.bz2
gspca - zc3xx: Bad probe of the sensor adcm2700.
From: Jean-Francois Moine <moinejf@free.fr> Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Diffstat (limited to 'linux/drivers/media')
-rw-r--r--linux/drivers/media/video/gspca/zc3xx.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/linux/drivers/media/video/gspca/zc3xx.c b/linux/drivers/media/video/gspca/zc3xx.c
index cdd50a54c..278db1648 100644
--- a/linux/drivers/media/video/gspca/zc3xx.c
+++ b/linux/drivers/media/video/gspca/zc3xx.c
@@ -7089,6 +7089,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)
@@ -7205,7 +7206,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;
}
@@ -7353,6 +7354,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;
@@ -7366,12 +7371,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;
@@ -7381,7 +7380,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;
}
}