regmap: spmi: support base and extended register spaces
authorJosh Cartwright <joshc@codeaurora.org>
Wed, 12 Feb 2014 19:44:27 +0000 (13:44 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Feb 2014 19:55:28 +0000 (11:55 -0800)
commitc9afbb05a9ffbef0976242ab1135af6814ccff0f
tree2fc72c3dabe1bf6963661cdf6797a434464dfe1f
parent2c9e577d979b87b1c500a736b68319830a984a2f
regmap: spmi: support base and extended register spaces

SPMI states that a slave may contain two register spaces, the Base
register space is a 5-bit byte-addressable space accessed via the
Register Read/Write and Register Zero Write command sequences, and the
Extended register space: a 16-bit byte-addressable space accessed via
the Extended Read/Write and Extended Read/Write Long command sequences.

Provide support for accessing both of these spaces, taking advantage of
the more bandwidth-efficient commands ('Register 0 Write' vs 'Register
Write', and 'Extended Register Read/Write' vs 'Extended Register
Read/Write Long') when possible.

Signed-off-by: Josh Cartwright <joshc@codeaurora.org>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/regmap/regmap-spmi.c
include/linux/regmap.h