i2c: meson: improve interrupt handler and detect spurious interrupts
authorHeiner Kallweit <hkallweit1@gmail.com>
Sat, 25 Mar 2017 13:10:08 +0000 (14:10 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 30 Mar 2017 15:31:08 +0000 (17:31 +0200)
commit38ed55ca9ec2808ed7ee5183bec1f4e7187d3ea2
treefc9b27a32a8d92965b6853379d77effc609f4eb9
parente4d6bc380c9a3dd955a2c8c6c8856e913b1b42cb
i2c: meson: improve interrupt handler and detect spurious interrupts

If state is STATE_IDLE no interrupt should occur. Return IRQ_NONE
if such a spurious interrupt is detected.
Not having to take care of STATE_IDLE later in the interrupt handler
allows to further simplify the interrupt handler in subsequent
patches of this series.

In addition move resetting REG_CTRL_START bit to the start of the
interrupt handler to ensure that the start bit is always reset.
Currently the start bit is not reset for STATE_STOP because
i2c->state is set to STATE_IDLE.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-meson.c