diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2020-05-06 10:36:43 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-05-12 12:37:30 +0200 |
commit | 2fd6cbf41aa9c76c8ce6e63bbbdebc0ce0c5d49f (patch) | |
tree | a3694bf295630e4c6721d021d844e3db16bda19a | |
parent | e81c979f4e071d516aa27cf5a0c3939da00dc1ca (diff) |
i2c: pxa: use master-abort for device probes
Use master-abort to send the stop condition after an address cycle
rather than resetting the controller.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
-rw-r--r-- | drivers/i2c/busses/i2c-pxa.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index a72d07bdb793..0e194d6cd1b5 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -940,14 +940,8 @@ static void i2c_pxa_irq_txempty(struct pxa_i2c *i2c, u32 isr) icr &= ~ICR_ALDIE; icr |= ICR_START | ICR_TB; } else { - if (i2c->msg->len == 0) { - /* - * Device probes have a message length of zero - * and need the bus to be reset before it can - * be used again. - */ - i2c_pxa_reset(i2c); - } + if (i2c->msg->len == 0) + icr |= ICR_MA; i2c_pxa_master_complete(i2c, 0); } |