linux/drivers/base/regmap
Crestez Dan Leonard 74fe7b551f
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>
2018-08-09 11:00:15 +01:00
..
internal.h regmap: Add regmap_noinc_read API 2018-08-09 11:00:15 +01:00
Kconfig Char/Misc driver patches for 4.16-rc1 2018-02-01 10:31:17 -08:00
Makefile Char/Misc driver patches for 4.16-rc1 2018-02-01 10:31:17 -08:00
regcache-flat.c regcache: flat: Un-inline index lookup from cache access 2018-01-08 12:08:57 +00:00
regcache-lzo.c regmap: cache: Remove unused 'blksize' variable 2016-11-25 13:01:36 +00:00
regcache-rbtree.c regmap: use rb_entry() 2016-12-19 15:42:26 +00:00
regcache.c regmap: Fix typo in IS_ENABLED() check 2017-06-08 15:43:19 +01:00
regmap-ac97.c regmap: Move documentation to regmap.h 2015-08-11 17:21:44 +01:00
regmap-debugfs.c regmap: debugfs: Improve warning message on debugfs_create_dir() failure 2018-03-06 14:49:28 +00:00
regmap-i2c.c regmap-i2c: Off by one in regmap_i2c_smbus_i2c_read/write() 2018-02-08 15:36:35 +00:00
regmap-irq.c regmap: irq: add chip option mask_writeonly 2017-06-28 20:11:07 +01:00
regmap-mmio.c regmap: Skip clk_put for attached clocks when freeing context 2018-05-17 16:11:41 +09:00
regmap-sdw.c regmap: Add SoundWire bus support 2018-01-08 11:27:18 +00:00
regmap-slimbus.c regmap: slimbus: allow register offsets up to 16 bits 2018-05-25 18:36:00 +01:00
regmap-spi.c regmap: constify regmap_bus structures 2017-08-14 17:36:29 +01:00
regmap-spmi.c regmap: constify regmap_bus structures 2017-08-14 17:36:29 +01:00
regmap-w1.c regmap: regmap-w1: Fix build troubles 2017-07-17 15:53:00 +01:00
regmap.c regmap: Add regmap_noinc_read API 2018-08-09 11:00:15 +01:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00