Commit e2817029 authored by Jean-François Moine's avatar Jean-François Moine Committed by Mauro Carvalho Chehab

[media] gspca - ov519: Check the disabled controls at start time only

Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 858ea5e9
...@@ -3667,8 +3667,6 @@ static void sethvflip(struct gspca_dev *gspca_dev) ...@@ -3667,8 +3667,6 @@ static void sethvflip(struct gspca_dev *gspca_dev)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
if (sd->sensor != SEN_OV7670)
return;
if (sd->gspca_dev.streaming) if (sd->gspca_dev.streaming)
ov51x_stop(sd); ov51x_stop(sd);
i2c_w_mask(sd, OV7670_R1E_MVFP, i2c_w_mask(sd, OV7670_R1E_MVFP,
...@@ -3812,11 +3810,17 @@ static int sd_start(struct gspca_dev *gspca_dev) ...@@ -3812,11 +3810,17 @@ static int sd_start(struct gspca_dev *gspca_dev)
set_ov_sensor_window(sd); set_ov_sensor_window(sd);
if (!(sd->gspca_dev.ctrl_dis & (1 << CONTRAST)))
setcontrast(gspca_dev); setcontrast(gspca_dev);
if (!(sd->gspca_dev.ctrl_dis & (1 << BRIGHTNESS)))
setbrightness(gspca_dev); setbrightness(gspca_dev);
if (!(sd->gspca_dev.ctrl_dis & (1 << COLORS)))
setcolors(gspca_dev); setcolors(gspca_dev);
if (!(sd->gspca_dev.ctrl_dis & ((1 << HFLIP) | (1 << VFLIP))))
sethvflip(gspca_dev); sethvflip(gspca_dev);
if (!(sd->gspca_dev.ctrl_dis & (1 << AUTOBRIGHT)))
setautobright(gspca_dev); setautobright(gspca_dev);
if (!(sd->gspca_dev.ctrl_dis & (1 << FREQ)))
setfreq_i(sd); setfreq_i(sd);
/* Force clear snapshot state in case the snapshot button was /* Force clear snapshot state in case the snapshot button was
...@@ -4184,19 +4188,11 @@ static void setautobright(struct gspca_dev *gspca_dev) ...@@ -4184,19 +4188,11 @@ static void setautobright(struct gspca_dev *gspca_dev)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
if (sd->sensor == SEN_OV7640 || sd->sensor == SEN_OV7648 ||
sd->sensor == SEN_OV7670 ||
sd->sensor == SEN_OV2610 || sd->sensor == SEN_OV3610)
return;
i2c_w_mask(sd, 0x2d, sd->ctrls[AUTOBRIGHT].val ? 0x10 : 0x00, 0x10); i2c_w_mask(sd, 0x2d, sd->ctrls[AUTOBRIGHT].val ? 0x10 : 0x00, 0x10);
} }
static void setfreq_i(struct sd *sd) static void setfreq_i(struct sd *sd)
{ {
if (sd->sensor == SEN_OV2610 || sd->sensor == SEN_OV3610)
return;
if (sd->sensor == SEN_OV7670) { if (sd->sensor == SEN_OV7670) {
switch (sd->ctrls[FREQ].val) { switch (sd->ctrls[FREQ].val) {
case 0: /* Banding filter disabled */ case 0: /* Banding filter disabled */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment