struct sd {
struct gspca_dev gspca_dev; /* !! must be the first item */
- __u8 autogain;
__u8 hflip;
__u8 vflip;
__u8 lightfreq;
};
/* V4L2 controls supported by the driver */
-static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val);
-static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_sethflip(struct gspca_dev *gspca_dev, __s32 val);
static int sd_gethflip(struct gspca_dev *gspca_dev, __s32 *val);
static int sd_setvflip(struct gspca_dev *gspca_dev, __s32 val);
static int sd_getfreq(struct gspca_dev *gspca_dev, __s32 *val);
static struct ctrl sd_ctrls[] = {
- {
- {
- .id = V4L2_CID_AUTOGAIN,
- .type = V4L2_CTRL_TYPE_BOOLEAN,
- .name = "Auto Gain",
- .minimum = 0,
- .maximum = 1,
- .step = 1,
-#define AUTOGAIN_DEF 1
- .default_value = AUTOGAIN_DEF,
- },
- .set = sd_setautogain,
- .get = sd_getautogain,
- },
/* next 2 controls work with ov7660 and ov7670 only */
-#define HFLIP_IDX 1
+#define HFLIP_IDX 0
{
{
.id = V4L2_CID_HFLIP,
.set = sd_sethflip,
.get = sd_gethflip,
},
-#define VFLIP_IDX 2
+#define VFLIP_IDX 1
{
{
.id = V4L2_CID_VFLIP,
.set = sd_setvflip,
.get = sd_getvflip,
},
-#define LIGHTFREQ_IDX 3
+#define LIGHTFREQ_IDX 2
{
{
.id = V4L2_CID_POWER_LINE_FREQUENCY,
sd->hflip = 1;
sd->vflip = 1;
}
- sd->autogain = AUTOGAIN_DEF;
sd->lightfreq = FREQ_DEF;
if (sd->sensor != SENSOR_OV7670)
gspca_dev->ctrl_dis = (1 << LIGHTFREQ_IDX);
i2c_write(gspca_dev, OV7660_REG_MVFP, &data, 1);
}
-static void setautogain(struct gspca_dev *gspca_dev)
-{
-}
-
static void setlightfreq(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
msleep(100);
setquality(gspca_dev);
sethvflip(gspca_dev);
- setautogain(gspca_dev);
setlightfreq(gspca_dev);
}
return 0;
gspca_frame_add(gspca_dev, INTER_PACKET, frame, data, len);
}
-static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val)
-{
- struct sd *sd = (struct sd *) gspca_dev;
-
- sd->autogain = val;
- if (gspca_dev->streaming)
- setautogain(gspca_dev);
- return 0;
-}
-
-static int sd_getautogain(struct gspca_dev *gspca_dev, __s32 *val)
-{
- struct sd *sd = (struct sd *) gspca_dev;
-
- *val = sd->autogain;
- return 0;
-}
-
static int sd_sethflip(struct gspca_dev *gspca_dev, __s32 val)
{
struct sd *sd = (struct sd *) gspca_dev;