mfd: arizona: Don't use regmap_read_poll_timeout
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 28 Jun 2018 15:49:35 +0000 (16:49 +0100)
committerLee Jones <lee.jones@linaro.org>
Fri, 27 Jul 2018 07:13:25 +0000 (08:13 +0100)
commitf99fea949736b6a79cddaaaec7e3b8830fd81c93
tree2c89aae51cf88a77f5fd8c7e05cc3e4ea765fdb3
parenta13c93b3a5db87a173b2cdc6c2f2122d9d677808
mfd: arizona: Don't use regmap_read_poll_timeout

Some Arizona CODECs have a small timing window where they will
NAK an I2C transaction if it happens before the boot done bit is
set. This can cause the read of the register containing the boot
done bit to fail until it is set. Since regmap_read_poll_timeout
will abort polling if a read fails it can't be reliably used to
poll the boot done bit over I2C.

Do a partial revert of ef84f885e037 ("mfd: arizona: Refactor
arizona_poll_reg"), removing the regmap_read_poll_timeout but
leaving the refactoring to make the arizona_poll_reg take more
sensible arguments.

Fixes: ef84f885e037 ("mfd: arizona: Refactor arizona_poll_reg")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/arizona-core.c