Commit 480738de authored by Dimitris Papastamos's avatar Dimitris Papastamos Committed by Mark Brown

regmap: debugfs: Simplify calculation of `c->max_reg'

We don't need to use any of the file position information
to calculate the base and max register of each block.  Just
use the counter directly.

Set `i = base' at the top to avoid GCC flow analysis bugs.  The
value of `i' can never be undefined or 0 in the if (c) { ... }.
Signed-off-by: default avatarDimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 6dbe51c2
...@@ -88,16 +88,15 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map, ...@@ -88,16 +88,15 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map,
* If we don't have a cache build one so we don't have to do a * If we don't have a cache build one so we don't have to do a
* linear scan each time. * linear scan each time.
*/ */
i = base;
if (list_empty(&map->debugfs_off_cache)) { if (list_empty(&map->debugfs_off_cache)) {
for (i = base; i <= map->max_register; i += map->reg_stride) { for (; i <= map->max_register; i += map->reg_stride) {
/* Skip unprinted registers, closing off cache entry */ /* Skip unprinted registers, closing off cache entry */
if (!regmap_readable(map, i) || if (!regmap_readable(map, i) ||
regmap_precious(map, i)) { regmap_precious(map, i)) {
if (c) { if (c) {
c->max = p - 1; c->max = p - 1;
fpos_offset = c->max - c->min; c->max_reg = i - map->reg_stride;
reg_offset = fpos_offset / map->debugfs_tot_len;
c->max_reg = c->base_reg + reg_offset;
list_add_tail(&c->list, list_add_tail(&c->list,
&map->debugfs_off_cache); &map->debugfs_off_cache);
c = NULL; c = NULL;
...@@ -124,9 +123,7 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map, ...@@ -124,9 +123,7 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map,
/* Close the last entry off if we didn't scan beyond it */ /* Close the last entry off if we didn't scan beyond it */
if (c) { if (c) {
c->max = p - 1; c->max = p - 1;
fpos_offset = c->max - c->min; c->max_reg = i - map->reg_stride;
reg_offset = fpos_offset / map->debugfs_tot_len;
c->max_reg = c->base_reg + reg_offset;
list_add_tail(&c->list, list_add_tail(&c->list,
&map->debugfs_off_cache); &map->debugfs_off_cache);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment