regmap: cache: set max_register with reg_stride
[sfrench/cifs-2.6.git] / drivers / base / regmap / regcache.c
index f2469d3435ca384db5f014c031ca3bd2e4687dd9..d0f5bc8279783adcab51bd42df7775000e1dad67 100644 (file)
@@ -183,8 +183,8 @@ int regcache_init(struct regmap *map, const struct regmap_config *config)
                        return 0;
        }
 
-       if (!map->max_register)
-               map->max_register = map->num_reg_defaults_raw;
+       if (!map->max_register && map->num_reg_defaults_raw)
+               map->max_register = (map->num_reg_defaults_raw  - 1) * map->reg_stride;
 
        if (map->cache_ops->init) {
                dev_dbg(map->dev, "Initializing %s cache\n",