]> git.baikalelectronics.ru Git - kernel.git/commit
regmap: Fix handling of volatile registers for format_write() chips
authorMark Brown <broonie@linaro.org>
Tue, 26 Aug 2014 11:12:17 +0000 (12:12 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 26 Aug 2014 17:34:26 +0000 (18:34 +0100)
commit70e028b38512e84fed0d24f716538dc48e598bc6
treea82017b53a229607d45e1913a09c1f2aab82be71
parentf45f9587f1dd1e89dd1c89561c9572f777c5bcb7
regmap: Fix handling of volatile registers for format_write() chips

A previous over-zealous factorisation of code means that we only treat
registers as volatile if they are readable. For most devices this is fine
since normally most registers can be read and volatility implies
readability but for format_write() devices where there is no readback from
the hardware and we use volatility to mean simply uncacheability this means
that we end up treating all registers as cacheble.

A bigger refactoring of the code to clarify this is in order but as a fix
make a minimal change and only check readability when checking volatility
if there is no format_write() operation defined for the device.

Signed-off-by: Mark Brown <broonie@linaro.org>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: stable@vger.kernel.org
drivers/base/regmap/regmap.c