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

Commit d2d7e9ae authored by Erik Andren's avatar Erik Andren Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (9095): gspca: Moves some sensor initialization to each sensor in m5602.

parent 1b334599
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -152,6 +152,8 @@ struct sd {
	/* A pointer to the currently connected sensor */
	struct m5602_sensor *sensor;

	struct sd_desc *desc;

	/* The current frame's id, used to detect frame boundaries */
	u8 frame_id;

+7 −21
Original line number Diff line number Diff line
@@ -108,44 +108,28 @@ int m5602_probe_sensor(struct sd *sd)
{
	/* Try the po1030 */
	sd->sensor = &po1030;
	if (!sd->sensor->probe(sd)) {
		sd_desc.ctrls = po1030.ctrls;
		sd_desc.nctrls = po1030.nctrls;
	if (!sd->sensor->probe(sd))
		return 0;
	}

	/* Try the mt9m111 sensor */
	sd->sensor = &mt9m111;
	if (!sd->sensor->probe(sd)) {
		sd_desc.ctrls = mt9m111.ctrls;
		sd_desc.nctrls = mt9m111.nctrls;
	if (!sd->sensor->probe(sd))
		return 0;
	}

	/* Try the s5k4aa */
	sd->sensor = &s5k4aa;
	if (!sd->sensor->probe(sd)) {
		sd_desc.ctrls = s5k4aa.ctrls;
		sd_desc.nctrls = s5k4aa.nctrls;
	if (!sd->sensor->probe(sd))
		return 0;
	}

	/* Try the ov9650 */
	sd->sensor = &ov9650;
	if (!sd->sensor->probe(sd)) {
		sd_desc.ctrls = ov9650.ctrls;
		sd_desc.nctrls = ov9650.nctrls;
	if (!sd->sensor->probe(sd))
		return 0;
	}

	/* Try the s5k83a */
	sd->sensor = &s5k83a;
	if (!sd->sensor->probe(sd)) {
		sd_desc.ctrls = s5k83a.ctrls;
		sd_desc.nctrls = s5k83a.nctrls;
	if (!sd->sensor->probe(sd))
		return 0;
	}


	/* More sensor probe function goes here */
	info("Failed to find a sensor");
@@ -246,8 +230,10 @@ int m5602_configure(struct gspca_dev *gspca_dev,
	int err;

	PDEBUG(DBG_GSPCA, "m5602_configure start");

	cam = &gspca_dev->cam;
	cam->epaddr = M5602_ISOC_ENDPOINT_ADDR;
	sd->desc = &sd_desc;

	if (dump_bridge)
		m5602_dump_bridge(sd);
+2 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ int mt9m111_probe(struct sd *sd)
sensor_found:
	sd->gspca_dev.cam.cam_mode = mt9m111.modes;
	sd->gspca_dev.cam.nmodes = mt9m111.nmodes;
	sd->desc->ctrls = mt9m111.ctrls;
	sd->desc->nctrls = mt9m111.nctrls;
	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -132,6 +132,8 @@ int ov9650_probe(struct sd *sd)
sensor_found:
	sd->gspca_dev.cam.cam_mode = ov9650.modes;
	sd->gspca_dev.cam.nmodes = ov9650.nmodes;
	sd->desc->ctrls = ov9650.ctrls;
	sd->desc->nctrls = ov9650.nctrls;
	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -59,6 +59,8 @@ int po1030_probe(struct sd *sd)
sensor_found:
	sd->gspca_dev.cam.cam_mode = po1030.modes;
	sd->gspca_dev.cam.nmodes = po1030.nmodes;
	sd->desc->ctrls = po1030.ctrls;
	sd->desc->nctrls = po1030.nctrls;
	return 0;
}

Loading