writel(i2c_ctl, i2c->regs + HSI2C_CTL);
- i2c_auto_conf &= ~(0xffff);
- i2c_auto_conf |= i2c->msg->len;
- writel(i2c_auto_conf, i2c->regs + HSI2C_AUTO_CONF);
-
- i2c_auto_conf = readl(i2c->regs + HSI2C_AUTO_CONF);
- i2c_auto_conf |= HSI2C_MASTER_RUN;
- writel(i2c_auto_conf, i2c->regs + HSI2C_AUTO_CONF);
-
if (operation_mode == HSI2C_INTERRUPT) {
unsigned int cpu = raw_smp_processor_id();
i2c_int_en |= HSI2C_INT_CHK_TRANS_STATE | HSI2C_INT_TRANSFER_DONE;
writel(HSI2C_INT_TRANSFER_DONE, i2c->regs + HSI2C_INT_ENABLE);
}
+ i2c_auto_conf &= ~(0xffff);
+ i2c_auto_conf |= i2c->msg->len;
+ writel(i2c_auto_conf, i2c->regs + HSI2C_AUTO_CONF);
+
+ i2c_auto_conf = readl(i2c->regs + HSI2C_AUTO_CONF);
+ i2c_auto_conf |= HSI2C_MASTER_RUN;
+ writel(i2c_auto_conf, i2c->regs + HSI2C_AUTO_CONF);
+
ret = -EAGAIN;
if (msgs->flags & I2C_M_RD) {
if (operation_mode == HSI2C_POLLING) {