mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 20:48:49 +08:00
i2c: meson: Use complete() instead of complete_all()
There is only one waiter for the completion, therefore there is no need to use complete_all(). Let's make that clear by using complete() instead of complete_all(). The usage pattern of the completion is: meson_i2c_xfer_msg() reinit_completion() ... /* Start the transfer */ ... wait_for_completion_timeout() Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
fea03a6ab1
commit
0268263f0c
@ -211,7 +211,7 @@ static void meson_i2c_stop(struct meson_i2c *i2c)
|
||||
meson_i2c_add_token(i2c, TOKEN_STOP);
|
||||
} else {
|
||||
i2c->state = STATE_IDLE;
|
||||
complete_all(&i2c->done);
|
||||
complete(&i2c->done);
|
||||
}
|
||||
}
|
||||
|
||||
@ -238,7 +238,7 @@ static irqreturn_t meson_i2c_irq(int irqno, void *dev_id)
|
||||
dev_dbg(i2c->dev, "error bit set\n");
|
||||
i2c->error = -ENXIO;
|
||||
i2c->state = STATE_IDLE;
|
||||
complete_all(&i2c->done);
|
||||
complete(&i2c->done);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -269,7 +269,7 @@ static irqreturn_t meson_i2c_irq(int irqno, void *dev_id)
|
||||
break;
|
||||
case STATE_STOP:
|
||||
i2c->state = STATE_IDLE;
|
||||
complete_all(&i2c->done);
|
||||
complete(&i2c->done);
|
||||
break;
|
||||
case STATE_IDLE:
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user