Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

parent 6d314505
Loading
Loading
Loading
Loading
+19 −15
Original line number Original line Diff line number Diff line
@@ -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,
		[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,
		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,
		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)