diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-02-21 13:07:01 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-03 21:30:27 -0500 |
commit | 325acab447f775bc2258b3a37a780893c203ab6c (patch) | |
tree | 8d9c3b4f40fd5329f1992284f39ab5117d8151ab /drivers/base/regmap | |
parent | 879082c9fe6e8fbddf787170eee605e4be138d0f (diff) |
regmap: cache: Use regcache_get_value() to check if we updated
Factor things out a little.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r-- | drivers/base/regmap/regcache.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index f0a3db6ff9c2..6948996d2498 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c | |||
@@ -418,25 +418,22 @@ EXPORT_SYMBOL_GPL(regcache_cache_bypass); | |||
418 | bool regcache_set_val(struct regmap *map, void *base, unsigned int idx, | 418 | bool regcache_set_val(struct regmap *map, void *base, unsigned int idx, |
419 | unsigned int val) | 419 | unsigned int val) |
420 | { | 420 | { |
421 | if (regcache_get_val(map, base, idx) == val) | ||
422 | return true; | ||
423 | |||
421 | switch (map->cache_word_size) { | 424 | switch (map->cache_word_size) { |
422 | case 1: { | 425 | case 1: { |
423 | u8 *cache = base; | 426 | u8 *cache = base; |
424 | if (cache[idx] == val) | ||
425 | return true; | ||
426 | cache[idx] = val; | 427 | cache[idx] = val; |
427 | break; | 428 | break; |
428 | } | 429 | } |
429 | case 2: { | 430 | case 2: { |
430 | u16 *cache = base; | 431 | u16 *cache = base; |
431 | if (cache[idx] == val) | ||
432 | return true; | ||
433 | cache[idx] = val; | 432 | cache[idx] = val; |
434 | break; | 433 | break; |
435 | } | 434 | } |
436 | case 4: { | 435 | case 4: { |
437 | u32 *cache = base; | 436 | u32 *cache = base; |
438 | if (cache[idx] == val) | ||
439 | return true; | ||
440 | cache[idx] = val; | 437 | cache[idx] = val; |
441 | break; | 438 | break; |
442 | } | 439 | } |