Commit fce65f65 authored by Erik Andrén's avatar Erik Andrén Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (10014): gspca - m5602: Remove all sensor specific write functions.

parent 6dc4cff0
Loading
Loading
Loading
Loading
+0 −44
Original line number Diff line number Diff line
@@ -266,50 +266,6 @@ int mt9m111_read_sensor(struct sd *sd, const u8 address,
	return err;
}

int mt9m111_write_sensor(struct sd *sd, const u8 address,
				u8 *i2c_data, const u8 len)
{
	int err, i;
	u8 *p;
	struct usb_device *udev = sd->gspca_dev.dev;
	__u8 *buf = sd->gspca_dev.usb_buf;

	/* No sensor with a data width larger
	   than 16 bits has yet been seen, nor with 0 :p*/
	if (len > 2 || !len)
		return -EINVAL;

	memcpy(buf, sensor_urb_skeleton,
	       sizeof(sensor_urb_skeleton));

	buf[11] = sd->sensor->i2c_slave_id;
	buf[15] = address;

	p = buf + 16;

	/* Copy a four byte write sequence for each byte to be written to */
	for (i = 0; i < len; i++) {
		memcpy(p, sensor_urb_skeleton + 16, 4);
		p[3] = i2c_data[i];
		p += 4;
		PDEBUG(D_CONF, "Writing sensor register 0x%x with 0x%x",
		       address, i2c_data[i]);
	}

	/* Copy the tailer */
	memcpy(p, sensor_urb_skeleton + 20, 4);

	/* Set the total length */
	p[3] = 0x10 + len;

	err = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
			      0x04, 0x40, 0x19,
			      0x0000, buf,
			      20 + len * 4, M5602_URB_MSG_TIMEOUT);

	return (err < 0) ? err : 0;
}

static void mt9m111_dump_registers(struct sd *sd)
{
	u8 address, value[2] = {0x00, 0x00};
+0 −3
Original line number Diff line number Diff line
@@ -90,9 +90,6 @@ int mt9m111_power_down(struct sd *sd);
int mt9m111_read_sensor(struct sd *sd, const u8 address,
			u8 *i2c_data, const u8 len);

int mt9m111_write_sensor(struct sd *sd, const u8 address,
			 u8 *i2c_data, const u8 len);

int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
+0 −44
Original line number Diff line number Diff line
@@ -102,50 +102,6 @@ int ov9650_read_sensor(struct sd *sd, const u8 address,
	return (err < 0) ? err : 0;
}

int ov9650_write_sensor(struct sd *sd, const u8 address,
			u8 *i2c_data, const u8 len)
{
	int err, i;
	u8 *p;
	struct usb_device *udev = sd->gspca_dev.dev;
	__u8 *buf = sd->gspca_dev.usb_buf;

	/* The ov9650 only supports one byte writes */
	if (len > 1 || !len)
		return -EINVAL;

	memcpy(buf, sensor_urb_skeleton,
	       sizeof(sensor_urb_skeleton));

	buf[11] = sd->sensor->i2c_slave_id;
	buf[15] = address;

	/* Special case larger sensor writes */
	p = buf + 16;

	/* Copy a four byte sequence for each byte to write over the I2C bus */
	for (i = 0; i < len; i++) {
		memcpy(p, sensor_urb_skeleton + 16, 4);
		p[3] = i2c_data[i];
		p += 4;
		PDEBUG(D_CONF, "Writing sensor register 0x%x with 0x%x",
		       address, i2c_data[i]);
	}

	/* Copy the tailer */
	memcpy(p, sensor_urb_skeleton + 20, 4);

	/* Set the total length */
	p[3] = 0x10 + len;

	err = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
			      0x04, 0x40, 0x19,
			      0x0000, buf,
			      20 + len * 4, M5602_URB_MSG_TIMEOUT);

	return (err < 0) ? err : 0;
}

int ov9650_probe(struct sd *sd)
{
	u8 prod_id = 0, ver_id = 0, i;
+0 −2
Original line number Diff line number Diff line
@@ -128,8 +128,6 @@ int ov9650_power_down(struct sd *sd);

int ov9650_read_sensor(struct sd *sd, const u8 address,
		       u8 *i2c_data, const u8 len);
int ov9650_write_sensor(struct sd *sd, const u8 address,
			u8 *i2c_data, const u8 len);

int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
+0 −42
Original line number Diff line number Diff line
@@ -99,48 +99,6 @@ int po1030_read_sensor(struct sd *sd, const u8 address,
	return err;
}

int po1030_write_sensor(struct sd *sd, const u8 address,
			u8 *i2c_data, const u8 len)
{
	int err, i;
	u8 *p;
	struct usb_device *udev = sd->gspca_dev.dev;
	__u8 *buf = sd->gspca_dev.usb_buf;

	/* The po1030 only supports one byte writes */
	if (len > 1 || !len)
		return -EINVAL;

	memcpy(buf, sensor_urb_skeleton, sizeof(sensor_urb_skeleton));

	buf[11] = sd->sensor->i2c_slave_id;
	buf[15] = address;

	p = buf + 16;

	/* Copy a four byte write sequence for each byte to be written to */
	for (i = 0; i < len; i++) {
		memcpy(p, sensor_urb_skeleton + 16, 4);
		p[3] = i2c_data[i];
		p += 4;
		PDEBUG(D_CONF, "Writing sensor register 0x%x with 0x%x",
		       address, i2c_data[i]);
	}

	/* Copy the footer */
	memcpy(p, sensor_urb_skeleton + 20, 4);

	/* Set the total length */
	p[3] = 0x10 + len;

	err = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
			      0x04, 0x40, 0x19,
			      0x0000, buf,
			      20 + len * 4, M5602_URB_MSG_TIMEOUT);

	return (err < 0) ? err : 0;
}

int po1030_init(struct sd *sd)
{
	int i, err = 0;
Loading