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};
 
 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);
 
        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;
 
 
 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);
 
        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;
 
 
 int po1030_read_sensor(struct sd *sd, const u8 address,
                              u8 *i2c_data, const u8 len);
-int po1030_write_sensor(struct sd *sd, const u8 address,
-                              u8 *i2c_data, const u8 len);
 
 int po1030_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
 int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
 
        return err;
 }
 
-int s5k4aa_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 */
-       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;
-
-       /* Special case larger sensor writes */
-       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;
-}
-
 int s5k4aa_init(struct sd *sd)
 {
        int i, err = 0;
 
 
 int s5k4aa_read_sensor(struct sd *sd, const u8 address,
                       u8 *i2c_data, const u8 len);
-int s5k4aa_write_sensor(struct sd *sd, const u8 address,
-                       u8 *i2c_data, const u8 len);
 
 int s5k4aa_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
 int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
 
        return err;
 }
 
-int s5k83a_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 */
-       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;
-
-       /* Special case larger sensor writes */
-       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;
-}
-
 int s5k83a_init(struct sd *sd)
 {
        int i, err = 0;
 
 
 int s5k83a_read_sensor(struct sd *sd, const u8 address,
                       u8 *i2c_data, const u8 len);
-int s5k83a_write_sensor(struct sd *sd, const u8 address,
-                       u8 *i2c_data, const u8 len);
 
 int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val);
 int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val);
 int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
 int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
 
-
 static struct m5602_sensor s5k83a = {
        .name = "S5K83A",
        .probe = s5k83a_probe,