Skip to content

Commit

Permalink
[media] gspca/sn9c20x: Test if sensor is a OV sensor
Browse files Browse the repository at this point in the history
Instead of just assuming a ov9650 sensor based on USB ID,
double-check it, by reading the sensor ID.

Acked-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mauro Carvalho Chehab committed Dec 29, 2010
1 parent dd89aec commit e78567d
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/media/video/gspca/sn9c20x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1224,8 +1224,17 @@ static int i2c_r2(struct gspca_dev *gspca_dev, u8 reg, u16 *val)
static int ov9650_init_sensor(struct gspca_dev *gspca_dev)
{
int i;
u16 id;
struct sd *sd = (struct sd *) gspca_dev;

if (i2c_r2(gspca_dev, 0x1c, &id) < 0)
return -EINVAL;

if (id != 0x7fa2) {
err("sensor id for ov9650 doesn't match (0x%04x)", id);
return -ENODEV;
}

for (i = 0; i < ARRAY_SIZE(ov9650_init); i++) {
if (i2c_w1(gspca_dev, ov9650_init[i].reg,
ov9650_init[i].val) < 0) {
Expand Down

0 comments on commit e78567d

Please sign in to comment.