aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/regmap/regcache.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/regmap/regcache.c')
-rw-r--r--drivers/base/regmap/regcache.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 4c07802986b2..9436a0d4cf71 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -100,15 +100,19 @@ int regcache_init(struct regmap *map, const struct regmap_config *config)
100 int i; 100 int i;
101 void *tmp_buf; 101 void *tmp_buf;
102 102
103 for (i = 0; i < config->num_reg_defaults; i++)
104 if (config->reg_defaults[i].reg % map->reg_stride)
105 return -EINVAL;
106
107 if (map->cache_type == REGCACHE_NONE) { 103 if (map->cache_type == REGCACHE_NONE) {
104 if (config->reg_defaults || config->num_reg_defaults_raw)
105 dev_warn(map->dev,
106 "No cache used with register defaults set!\n");
107
108 map->cache_bypass = true; 108 map->cache_bypass = true;
109 return 0; 109 return 0;
110 } 110 }
111 111
112 for (i = 0; i < config->num_reg_defaults; i++)
113 if (config->reg_defaults[i].reg % map->reg_stride)
114 return -EINVAL;
115
112 for (i = 0; i < ARRAY_SIZE(cache_types); i++) 116 for (i = 0; i < ARRAY_SIZE(cache_types); i++)
113 if (cache_types[i]->type == map->cache_type) 117 if (cache_types[i]->type == map->cache_type)
114 break; 118 break;