Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 181742
b: refs/heads/master
c: c260fe9
h: refs/heads/master
v: v3
  • Loading branch information
Theodore Kilgore authored and Mauro Carvalho Chehab committed Feb 26, 2010
1 parent 2c2bad8 commit 113d17f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c1ea5b7424e4d1d3f56de1504a257ec2419259e8
refs/heads/master: c260fe936de6a52010a3247f9c3e8da47d9726e8
23 changes: 10 additions & 13 deletions trunk/drivers/media/video/gspca/mr97310a.c
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,6 @@ static int zero_the_pointer(struct gspca_dev *gspca_dev)
if (err_code < 0)
return err_code;

err_code = mr_write(gspca_dev, 1);
data[0] = 0x19;
data[1] = 0x51;
err_code = mr_write(gspca_dev, 2);
Expand Down Expand Up @@ -460,20 +459,22 @@ static int sd_config(struct gspca_dev *gspca_dev,
if (err_code < 0)
return err_code;

/* Now, the query for sensor type. */
err_code = cam_get_response16(gspca_dev, 0x07, 1);
if (err_code < 0)
return err_code;

if (id->idProduct == 0x0110 || id->idProduct == 0x010e) {
sd->cam_type = CAM_TYPE_CIF;
cam->nmodes--;
err_code = cam_get_response16(gspca_dev, 0x06, 1);
if (err_code < 0)
return err_code;
/*
* All but one of the known CIF cameras share the same USB ID,
* but two different init routines are in use, and the control
* settings are different, too. We need to detect which camera
* of the two known varieties is connected!
*
* A list of known CIF cameras follows. They all report either
* 0002 for type 0 or 0003 for type 1.
* 0200 for type 0 or 0300 for type 1.
* If you have another to report, please do
*
* Name sd->sensor_type reported by
Expand All @@ -487,7 +488,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
* Philips dig. keych. 1 T. Kilgore
* Trust Spyc@m 100 1 A. Jacobs
*/
switch (gspca_dev->usb_buf[1]) {
switch (gspca_dev->usb_buf[0]) {
case 2:
sd->sensor_type = 0;
break;
Expand All @@ -504,13 +505,9 @@ static int sd_config(struct gspca_dev *gspca_dev,
} else {
sd->cam_type = CAM_TYPE_VGA;

err_code = cam_get_response16(gspca_dev, 0x07, 1);
if (err_code < 0)
return err_code;

/*
* Here is a table of the responses to the previous command
* from the known MR97310A VGA cameras.
* Here is a table of the responses to the query for sensor
* type, from the known MR97310A VGA cameras.
*
* Name gspca_dev->usb_buf[] sd->sensor_type
* sd->do_lcd_stop
Expand Down Expand Up @@ -560,7 +557,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
PDEBUG(D_PROBE, "MR97310A VGA camera detected, sensor: %d",
sd->sensor_type);
}
/* Stop streaming as we've started it to probe the sensor type. */
/* Stop streaming as we've started it only to probe the sensor type. */
sd_stopN(gspca_dev);

if (force_sensor_type != -1) {
Expand Down

0 comments on commit 113d17f

Please sign in to comment.