/* If alen < 0, then we get this: S data  ...  P This is most likely NOT something that should be used. It doesn't send the chip address first, so in effect, the first byte of data will be used as the address.  */
static int bus_i2c_write(struct mxc_i2c_bus *i2c_bus, u8 chip, u32 addr, int alen, const u8 *buf, int len)
/* If alen < 0, then we get this: S data  ...  P This is most likely NOT something that should be used. It doesn't send the chip address first, so in effect, the first byte of data will be used as the address.  */
static int bus_i2c_write(struct mxc_i2c_bus *i2c_bus, u8 chip, u32 addr, int alen, const u8 *buf, int len)
{
	int ret = 0;
	ret = i2c_init_transfer(i2c_bus, chip, addr, alen);
	if (ret < 0)
		return ret;
	ret = i2c_write_data(i2c_bus, chip, buf, len);
	i2c_imx_stop(i2c_bus);
	return ret;
}