|
@@ -602,8 +602,8 @@ static void sh_mobile_i2c_xfer_dma(struct sh_mobile_i2c_data *pd)
|
|
|
dma_async_issue_pending(chan);
|
|
|
}
|
|
|
|
|
|
-static int start_ch(struct sh_mobile_i2c_data *pd, struct i2c_msg *usr_msg,
|
|
|
- bool do_init)
|
|
|
+static void start_ch(struct sh_mobile_i2c_data *pd, struct i2c_msg *usr_msg,
|
|
|
+ bool do_init)
|
|
|
{
|
|
|
if (do_init) {
|
|
|
/* Initialize channel registers */
|
|
@@ -627,7 +627,6 @@ static int start_ch(struct sh_mobile_i2c_data *pd, struct i2c_msg *usr_msg,
|
|
|
|
|
|
/* Enable all interrupts to begin with */
|
|
|
iic_wr(pd, ICIC, ICIC_DTEE | ICIC_WAITE | ICIC_ALE | ICIC_TACKE);
|
|
|
- return 0;
|
|
|
}
|
|
|
|
|
|
static int poll_dte(struct sh_mobile_i2c_data *pd)
|
|
@@ -698,9 +697,7 @@ static int sh_mobile_i2c_xfer(struct i2c_adapter *adapter,
|
|
|
pd->send_stop = i == num - 1 || msg->flags & I2C_M_STOP;
|
|
|
pd->stop_after_dma = false;
|
|
|
|
|
|
- err = start_ch(pd, msg, do_start);
|
|
|
- if (err)
|
|
|
- break;
|
|
|
+ start_ch(pd, msg, do_start);
|
|
|
|
|
|
if (do_start)
|
|
|
i2c_op(pd, OP_START, 0);
|