Skip to content

Commit

Permalink
[media] gspca_sonixb: Fix exposure control min/max value for coarse e…
Browse files Browse the repository at this point in the history
…xpo sensors

This got broken by some gscpa core fixes, this patch restores the proper
min/max values for these controls.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Hans de Goede authored and Mauro Carvalho Chehab committed Jan 6, 2012
1 parent fe3449a commit 3870ed3
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions drivers/media/video/gspca/sonixb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1079,20 +1079,23 @@ static int sd_config(struct gspca_dev *gspca_dev,
}
cam->npkt = 36; /* 36 packets per ISOC message */

if (sensor_data[sd->sensor].flags & F_COARSE_EXPO) {
sd->ctrls[EXPOSURE].min = COARSE_EXPOSURE_MIN;
sd->ctrls[EXPOSURE].max = COARSE_EXPOSURE_MAX;
sd->ctrls[EXPOSURE].def = COARSE_EXPOSURE_DEF;
}

return 0;
}

/* this function is called at probe and resume time */
static int sd_init(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
const __u8 stop = 0x09; /* Disable stream turn of LED */

if (sensor_data[sd->sensor].flags & F_COARSE_EXPO) {
sd->ctrls[EXPOSURE].min = COARSE_EXPOSURE_MIN;
sd->ctrls[EXPOSURE].max = COARSE_EXPOSURE_MAX;
sd->ctrls[EXPOSURE].def = COARSE_EXPOSURE_DEF;
if (sd->ctrls[EXPOSURE].val > COARSE_EXPOSURE_MAX)
sd->ctrls[EXPOSURE].val = COARSE_EXPOSURE_DEF;
}

reg_w(gspca_dev, 0x01, &stop, 1);

return 0;
Expand Down

0 comments on commit 3870ed3

Please sign in to comment.