V4L/DVB (11461): gspca - m5602-po1030: Probe read only register at probe time
Currently, we're probing r/w registers at probe time. This is potentially dangerous, probe some read only registers instead. Signed-off-by: Erik Andr?n <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
31e1715f97
commit
fcb981080a
1 changed files with 4 additions and 4 deletions
|
@ -140,7 +140,7 @@ static void po1030_dump_registers(struct sd *sd);
|
||||||
|
|
||||||
int po1030_probe(struct sd *sd)
|
int po1030_probe(struct sd *sd)
|
||||||
{
|
{
|
||||||
u8 prod_id = 0, ver_id = 0, i;
|
u8 dev_id_h = 0, dev_id_l = 0, i;
|
||||||
s32 *sensor_settings;
|
s32 *sensor_settings;
|
||||||
|
|
||||||
if (force_sensor) {
|
if (force_sensor) {
|
||||||
|
@ -165,13 +165,13 @@ int po1030_probe(struct sd *sd)
|
||||||
m5602_write_bridge(sd, preinit_po1030[i][1], data);
|
m5602_write_bridge(sd, preinit_po1030[i][1], data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m5602_read_sensor(sd, 0x3, &prod_id, 1))
|
if (m5602_read_sensor(sd, PO1030_DEVID_H, &dev_id_h, 1))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
if (m5602_read_sensor(sd, 0x4, &ver_id, 1))
|
if (m5602_read_sensor(sd, PO1030_DEVID_L, &dev_id_l, 1))
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
if ((prod_id == 0x02) && (ver_id == 0xef)) {
|
if ((dev_id_h == 0x10) && (dev_id_l == 0x30)) {
|
||||||
info("Detected a po1030 sensor");
|
info("Detected a po1030 sensor");
|
||||||
goto sensor_found;
|
goto sensor_found;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue