diff options
author | Jean-Francois Moine <moinejf@free.fr> | 2009-01-20 03:12:34 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:42:33 -0400 |
commit | 5be2b095b04b309267644ed6ecd1e092669fc4ad (patch) | |
tree | 9a4a40736b7d2f03df29692a0588bfd8666f6c3b /drivers/media | |
parent | 3d22118360cdf603ebce1a3b927139e23aa3b9b1 (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')
-rw-r--r-- | drivers/media/video/gspca/zc3xx.c | 15 |
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 | ||
7089 | static int vga_3wr_probe(struct gspca_dev *gspca_dev) | 7090 | static 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 | } |