From: Mark Brown Date: Wed, 27 Aug 2014 12:09:12 +0000 (+0100) Subject: regmap: Don't attempt block writes when syncing cache on single_rw devices X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=79c770cb58596b91c2e07a39090401fcc580cc14;p=karo-tx-linux.git regmap: Don't attempt block writes when syncing cache on single_rw devices commit 5c1ebe7f73f9166893c3459915db8a09d6d1d715 upstream. If the device can't support block writes then don't attempt to use raw syncing which will automatically generate block writes for adjacent registers, use the existing _single() block syncing implementation. Reported-by: Jarkko Nikula Tested-by: Jarkko Nikula Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index d4dd77134814..154e7a8c0a04 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -701,7 +701,7 @@ int regcache_sync_block(struct regmap *map, void *block, unsigned int block_base, unsigned int start, unsigned int end) { - if (regmap_can_raw_write(map)) + if (regmap_can_raw_write(map) && !map->use_single_rw) return regcache_sync_block_raw(map, block, cache_present, block_base, start, end); else