aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca/zc3xx.c
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2009-01-20 03:12:34 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:42:33 -0400
commit5be2b095b04b309267644ed6ecd1e092669fc4ad (patch)
tree9a4a40736b7d2f03df29692a0588bfd8666f6c3b /drivers/media/video/gspca/zc3xx.c
parent3d22118360cdf603ebce1a3b927139e23aa3b9b1 (diff)
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[] = {
7084 {0x8001, 0x13}, 7084 {0x8001, 0x13},
7085 {0x8000, 0x14}, /* CS2102K */ 7085 {0x8000, 0x14}, /* CS2102K */
7086 {0x8400, 0x15}, /* TAS5130K */ 7086 {0x8400, 0x15}, /* TAS5130K */
7087 {0x4001, 0x16}, /* ADCM2700 */
7087}; 7088};
7088 7089
7089static int vga_3wr_probe(struct gspca_dev *gspca_dev) 7090static int vga_3wr_probe(struct gspca_dev *gspca_dev)
@@ -7200,7 +7201,7 @@ static int vga_3wr_probe(struct gspca_dev *gspca_dev)
7200 retword = i2c_read(gspca_dev, 0x01); 7201 retword = i2c_read(gspca_dev, 0x01);
7201 if (retword != 0) { 7202 if (retword != 0) {
7202 PDEBUG(D_PROBE, "probe 3wr vga type 0a ? ret: %04x", retword); 7203 PDEBUG(D_PROBE, "probe 3wr vga type 0a ? ret: %04x", retword);
7203 return retword; /* 0x6200/0x6100?? */ 7204 return retword;
7204 } 7205 }
7205 return -1; 7206 return -1;
7206} 7207}
@@ -7348,6 +7349,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
7348 sd->chip_revision); 7349 sd->chip_revision);
7349 sd->sensor = SENSOR_TAS5130CK; 7350 sd->sensor = SENSOR_TAS5130CK;
7350 break; 7351 break;
7352 case 0x16:
7353 PDEBUG(D_PROBE, "Find Sensor ADCM2700");
7354 sd->sensor = SENSOR_ADCM2700;
7355 break;
7351 case 0x29: 7356 case 0x29:
7352 PDEBUG(D_PROBE, "Find Sensor GC0305"); 7357 PDEBUG(D_PROBE, "Find Sensor GC0305");
7353 sd->sensor = SENSOR_GC0305; 7358 sd->sensor = SENSOR_GC0305;
@@ -7361,12 +7366,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
7361 sd->sensor = SENSOR_PO2030; 7366 sd->sensor = SENSOR_PO2030;
7362 sd->sharpness = 0; /* from win traces */ 7367 sd->sharpness = 0; /* from win traces */
7363 break; 7368 break;
7364 case 0x6100:
7365 case 0x6200:
7366 PDEBUG(D_PROBE, "Find Sensor ADCM2700");
7367 sd->sensor = SENSOR_ADCM2700;
7368 send_unknown(gspca_dev->dev, sd->sensor);
7369 break;
7370 case 0x7620: 7369 case 0x7620:
7371 PDEBUG(D_PROBE, "Find Sensor OV7620"); 7370 PDEBUG(D_PROBE, "Find Sensor OV7620");
7372 sd->sensor = SENSOR_OV7620; 7371 sd->sensor = SENSOR_OV7620;
@@ -7376,7 +7375,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
7376 sd->sensor = SENSOR_OV7620; /* same sensor (?) */ 7375 sd->sensor = SENSOR_OV7620; /* same sensor (?) */
7377 break; 7376 break;
7378 default: 7377 default:
7379 PDEBUG(D_ERR|D_PROBE, "Unknown sensor %02x", sensor); 7378 PDEBUG(D_ERR|D_PROBE, "Unknown sensor %04x", sensor);
7380 return -EINVAL; 7379 return -EINVAL;
7381 } 7380 }
7382 } 7381 }