diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-02-18 18:37:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-02-18 18:37:25 -0500 |
commit | bff98bfcdb2124e4e640fa6d7c9c7c3d21362760 (patch) | |
tree | 6d94d9e8ab057fb85cd634e15a1ddd15df554d30 /drivers/base | |
parent | 4686066689482214781573fcb42300f713d0210c (diff) | |
parent | 61cddc57dc14a5dffa0921d9a24fd68edbb374ac (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap
Fixes a bootstrapping issue for some registers when a less commonly used
method for register cache initialisation is used. Only affects a fairly
small proportion of users that both don't use explicit register defaults
and do use the cache.
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
regmap: Fix cache defaults initialization from raw cache defaults
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/regmap/regcache.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index 1ead66186b7c..d1daa5e9fadf 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c | |||
@@ -53,7 +53,7 @@ static int regcache_hw_init(struct regmap *map) | |||
53 | for (count = 0, i = 0; i < map->num_reg_defaults_raw; i++) { | 53 | for (count = 0, i = 0; i < map->num_reg_defaults_raw; i++) { |
54 | val = regcache_get_val(map->reg_defaults_raw, | 54 | val = regcache_get_val(map->reg_defaults_raw, |
55 | i, map->cache_word_size); | 55 | i, map->cache_word_size); |
56 | if (!val) | 56 | if (regmap_volatile(map, i)) |
57 | continue; | 57 | continue; |
58 | count++; | 58 | count++; |
59 | } | 59 | } |
@@ -70,7 +70,7 @@ static int regcache_hw_init(struct regmap *map) | |||
70 | for (i = 0, j = 0; i < map->num_reg_defaults_raw; i++) { | 70 | for (i = 0, j = 0; i < map->num_reg_defaults_raw; i++) { |
71 | val = regcache_get_val(map->reg_defaults_raw, | 71 | val = regcache_get_val(map->reg_defaults_raw, |
72 | i, map->cache_word_size); | 72 | i, map->cache_word_size); |
73 | if (!val) | 73 | if (regmap_volatile(map, i)) |
74 | continue; | 74 | continue; |
75 | map->reg_defaults[j].reg = i; | 75 | map->reg_defaults[j].reg = i; |
76 | map->reg_defaults[j].def = val; | 76 | map->reg_defaults[j].def = val; |