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

V4L/DVB: gspca - zc3xx: Do the sensor probe at resume time

Signed-off-by: default avatarJean-François Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 6d314505
...@@ -6570,6 +6570,24 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev) ...@@ -6570,6 +6570,24 @@ static int zcxx_probeSensor(struct gspca_dev *gspca_dev)
/* this function is called at probe time */ /* this function is called at probe time */
static int sd_config(struct gspca_dev *gspca_dev, static int sd_config(struct gspca_dev *gspca_dev,
const struct usb_device_id *id) const struct usb_device_id *id)
{
struct sd *sd = (struct sd *) gspca_dev;
/* define some sensors from the vendor/product */
sd->sensor = id->driver_info;
sd->sharpness = SHARPNESS_DEF;
sd->brightness = BRIGHTNESS_DEF;
sd->contrast = CONTRAST_DEF;
sd->autogain = AUTOGAIN_DEF;
sd->lightfreq = FREQ_DEF;
sd->quality = QUALITY_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; struct sd *sd = (struct sd *) gspca_dev;
struct cam *cam; struct cam *cam;
...@@ -6617,9 +6635,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -6617,9 +6635,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
[SENSOR_TAS5130C_VF0250] = 1, [SENSOR_TAS5130C_VF0250] = 1,
}; };
/* define some sensors from the vendor/product */
sd->sharpness = SHARPNESS_DEF;
sd->sensor = id->driver_info;
sensor = zcxx_probeSensor(gspca_dev); sensor = zcxx_probeSensor(gspca_dev);
if (sensor >= 0) if (sensor >= 0)
PDEBUG(D_PROBE, "probe sensor -> %04x", sensor); PDEBUG(D_PROBE, "probe sensor -> %04x", sensor);
...@@ -6775,12 +6790,7 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -6775,12 +6790,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
cam->nmodes = ARRAY_SIZE(broken_vga_mode); cam->nmodes = ARRAY_SIZE(broken_vga_mode);
break; break;
} }
sd->brightness = BRIGHTNESS_DEF;
sd->contrast = CONTRAST_DEF;
sd->gamma = gamma[sd->sensor]; sd->gamma = gamma[sd->sensor];
sd->autogain = AUTOGAIN_DEF;
sd->lightfreq = FREQ_DEF;
sd->quality = QUALITY_DEF;
switch (sd->sensor) { switch (sd->sensor) {
case SENSOR_HV7131B: case SENSOR_HV7131B:
...@@ -6790,15 +6800,9 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -6790,15 +6800,9 @@ static int sd_config(struct gspca_dev *gspca_dev,
break; break;
} }
return gspca_dev->usb_err;
}
/* this function is called at probe and resume time */
static int sd_init(struct gspca_dev *gspca_dev)
{
/* switch off the led */ /* switch off the led */
reg_w(gspca_dev, 0x01, 0x0000); reg_w(gspca_dev, 0x01, 0x0000);
return 0; return gspca_dev->usb_err;
} }
static int sd_start(struct gspca_dev *gspca_dev) static int sd_start(struct gspca_dev *gspca_dev)
......
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