aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorErik Andr?n <erik.andren@gmail.com>2009-01-11 10:52:10 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-16 17:20:28 -0400
commit3e5cbad030f6c12983f697ecff9fbd8f5a6bee7b (patch)
tree90aab95c75df4db0c03af5a30cee67433615b0c1 /drivers/media/video
parentd9a11e28c862dd1f05193659025a99712bb507e9 (diff)
V4L/DVB (11474): gspca - m5602-po1030: Fix sensor probing.
The po1030 read sensor are currently returning the contents of the address+1 fix the probing of the sensor to cope with this. Obviously this needs to be tracked down and fixed. Signed-off-by: Erik Andr?n <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/gspca/m5602/m5602_po1030.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_po1030.c b/drivers/media/video/gspca/m5602/m5602_po1030.c
index 3ecb53c701ab..a45d55c530b5 100644
--- a/drivers/media/video/gspca/m5602/m5602_po1030.c
+++ b/drivers/media/video/gspca/m5602/m5602_po1030.c
@@ -157,7 +157,7 @@ static void po1030_dump_registers(struct sd *sd);
157 157
158int po1030_probe(struct sd *sd) 158int po1030_probe(struct sd *sd)
159{ 159{
160 u8 dev_id_h = 0, dev_id_l = 0, i; 160 u8 dev_id_h = 0, i;
161 s32 *sensor_settings; 161 s32 *sensor_settings;
162 162
163 if (force_sensor) { 163 if (force_sensor) {
@@ -185,10 +185,7 @@ int po1030_probe(struct sd *sd)
185 if (m5602_read_sensor(sd, PO1030_DEVID_H, &dev_id_h, 1)) 185 if (m5602_read_sensor(sd, PO1030_DEVID_H, &dev_id_h, 1))
186 return -ENODEV; 186 return -ENODEV;
187 187
188 if (m5602_read_sensor(sd, PO1030_DEVID_L, &dev_id_l, 1)) 188 if (dev_id_h == 0x30) {
189 return -ENODEV;
190
191 if ((dev_id_h == 0x10) && (dev_id_l == 0x30)) {
192 info("Detected a po1030 sensor"); 189 info("Detected a po1030 sensor");
193 goto sensor_found; 190 goto sensor_found;
194 } 191 }