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
..
2018-06-14 16:25:43 +09:00
2018-06-06 13:49:25 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-08-09 11:00:15 +01:00
2018-06-04 10:58:12 -07:00
2018-06-15 07:24:58 +09:00
2018-05-30 15:45:01 +02:00
2018-06-12 18:28:00 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-15 18:10:01 -03:00
2018-06-12 16:19:22 -07:00
2018-06-06 18:39:49 -07:00
2018-06-13 07:24:18 -07:00
2018-06-07 10:23:33 -07:00
2018-06-12 16:19:22 -07:00
2018-06-08 17:21:52 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 08:51:42 +09:00
2018-06-12 16:19:22 -07:00
2018-05-25 18:23:56 +02:00
2018-06-12 16:19:22 -07:00
2018-06-17 05:25:18 +09:00
2018-06-15 18:10:01 -03:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-11 12:09:19 -07:00
2018-06-12 16:19:22 -07:00
2018-06-14 16:21:46 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-12 18:28:00 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-07 10:23:33 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-17 05:25:18 +09:00
2018-06-12 18:28:00 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-14 16:21:46 +09:00
2018-06-14 16:21:46 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 18:28:00 -07:00
2018-06-17 05:25:18 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 18:28:00 -07:00
2018-06-05 16:20:22 -07:00
2018-06-08 15:16:44 -07:00
2018-06-15 08:11:05 -06:00
2018-06-12 16:19:22 -07:00
2018-06-12 18:28:00 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-04 10:58:12 -07:00
2018-06-15 18:10:01 -03:00
2018-06-12 18:28:00 -07:00
2018-06-12 16:19:22 -07:00
2018-05-29 16:38:16 +01:00
2018-06-06 18:39:49 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-07 12:34:37 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-05-28 23:05:11 -04:00
2018-06-14 16:25:43 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 07:55:25 +09:00
2018-06-12 18:28:00 -07:00
2018-06-04 12:35:03 -07:00
2018-06-11 07:20:17 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-14 16:35:32 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2018-06-15 07:55:25 +09:00
2018-06-15 18:11:26 -03:00
2018-06-12 16:19:22 -07:00
2018-06-15 18:10:01 -03:00
2018-06-12 16:19:22 -07:00
2018-06-12 18:28:00 -07:00
2018-05-15 18:02:00 +02:00
2018-06-15 07:31:07 +09:00
2018-06-12 16:19:22 -07:00
2018-06-15 07:31:07 +09:00
2018-06-12 16:19:22 -07:00
2018-06-12 13:11:26 -07:00
2018-06-16 06:35:02 +09:00
2018-06-17 05:25:18 +09:00
2018-06-12 16:19:22 -07:00
2018-06-16 06:35:02 +09:00
2018-06-05 16:20:22 -07:00
2018-06-12 12:56:02 -07:00
2018-06-12 16:19:22 -07:00
2018-06-06 17:27:14 -07:00