Skip to content

Commit

Permalink
[media] gspca - ov519: Define the disabled controls in a table
Browse files Browse the repository at this point in the history
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Jean-François Moine authored and Mauro Carvalho Chehab committed Dec 29, 2010
1 parent 2186780 commit 83db768
Showing 1 changed file with 47 additions and 15 deletions.
62 changes: 47 additions & 15 deletions drivers/media/video/gspca/ov519.c
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,51 @@ static const struct ctrl sd_ctrls[] = {
},
};

/* table of the disabled controls */
static const unsigned ctrl_dis[] = {
[SEN_OV2610] = (1 << NCTRL) - 1, /* no control */

[SEN_OV3610] = (1 << NCTRL) - 1, /* no control */

[SEN_OV6620] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV6630] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV66308AF] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV7610] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV7620] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV7620AE] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV7640] = (1 << HFLIP) |
(1 << VFLIP) |
(1 << AUTOBRIGHT) |
(1 << CONTRAST),

[SEN_OV7648] = (1 << HFLIP) |
(1 << VFLIP) |
(1 << AUTOBRIGHT) |
(1 << CONTRAST),

[SEN_OV7670] = (1 << COLORS) |
(1 << AUTOBRIGHT),

[SEN_OV76BE] = (1 << HFLIP) |
(1 << VFLIP),

[SEN_OV8610] = (1 << HFLIP) |
(1 << VFLIP) |
(1 << FREQ),
};

static const struct v4l2_pix_format ov519_vga_mode[] = {
{320, 240, V4L2_PIX_FMT_JPEG, V4L2_FIELD_NONE,
.bytesperline = 320,
Expand Down Expand Up @@ -3099,22 +3144,9 @@ static int sd_config(struct gspca_dev *gspca_dev,
break;
}
gspca_dev->cam.ctrls = sd->ctrls;
if (sd->sensor == SEN_OV7670)
gspca_dev->ctrl_dis = 1 << COLORS;
else
gspca_dev->ctrl_dis = (1 << HFLIP) | (1 << VFLIP);
sd->quality = QUALITY_DEF;
if (sd->sensor == SEN_OV7640 ||
sd->sensor == SEN_OV7648)
gspca_dev->ctrl_dis |= (1 << AUTOBRIGHT) | (1 << CONTRAST);
if (sd->sensor == SEN_OV7670)
gspca_dev->ctrl_dis |= 1 << AUTOBRIGHT;
/* OV8610 Frequency filter control should work but needs testing */
if (sd->sensor == SEN_OV8610)
gspca_dev->ctrl_dis |= 1 << FREQ;
/* No controls for the OV2610/OV3610 */
if (sd->sensor == SEN_OV2610 || sd->sensor == SEN_OV3610)
gspca_dev->ctrl_dis |= (1 << NCTRL) - 1;

gspca_dev->ctrl_dis = ctrl_dis[sd->sensor];

return 0;
error:
Expand Down

0 comments on commit 83db768

Please sign in to comment.