-
- xfer[0].addr = i2c->addr;
- xfer[0].flags = 0;
- xfer[0].len = 2;
- xfer[0].buf = (char *)®
-
- xfer[1].addr = i2c->addr;
- xfer[1].flags = I2C_M_NOSTART;
- xfer[1].len = bytes;
- xfer[1].buf = (char *)src;
-
- ret = i2c_transfer(i2c->adapter, xfer, 2);
+ memcpy(&msg[0], ®, 2);
+ memcpy(&msg[2], src, bytes);
+
+ xfer.addr = i2c->addr;
+ xfer.flags = i2c->flags;
+ xfer.len = bytes + 2;
+ xfer.buf = (char *)msg;
+ xfer.scl_rate = 100 * 1000;
+ xfer.udelay = i2c->udelay;
+ xfer.read_type = 0;
+
+ ret = i2c_transfer(i2c->adapter, &xfer, 1);