diff options
author | Crestez Dan Leonard <leonard.crestez@intel.com> | 2018-08-07 17:52:17 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-08-09 11:00:15 +0100 |
commit | 74fe7b551f3385fa585d92616c85b3a575b2b2cb (patch) | |
tree | 2fe5ebf48c6f242e0cfe54bfa6350e3e06975fa1 /net/rxrpc | |
parent | ce397d215ccd07b8ae3f71db689aedb85d56ab40 (diff) | |
download | talos-op-linux-74fe7b551f3385fa585d92616c85b3a575b2b2cb.tar.gz talos-op-linux-74fe7b551f3385fa585d92616c85b3a575b2b2cb.zip |
regmap: Add regmap_noinc_read API
The regmap API usually assumes that bulk read operations will read a
range of registers but some I2C/SPI devices have certain registers for
which a such a read operation will return data from an internal FIFO
instead. Add an explicit API to support bulk read without range semantics.
Some linux drivers use regmap_bulk_read or regmap_raw_read for such
registers, for example mpu6050 or bmi150 from IIO. This only happens to
work because when caching is disabled a single regmap read op will map
to a single bus read op (as desired). This breaks if caching is enabled and
reg+1 happens to be a cacheable register.
Without regmap support refactoring a driver to enable regmap caching
requires separate I2C and SPI paths. This is exactly what regmap is
supposed to help avoid.
Suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Crestez Dan Leonard <leonard.crestez@intel.com>
Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'net/rxrpc')
0 files changed, 0 insertions, 0 deletions