From df6b5931ec89e99447996d6cedce98d4785ca176 Mon Sep 17 00:00:00 2001 From: Dimitris Papastamos Date: Fri, 8 Feb 2013 12:47:20 +0000 Subject: [PATCH] --- yaml --- r: 350369 b: refs/heads/master c: cf57d6071f0610c99856c006ac06eb98a151f485 h: refs/heads/master i: 350367: 02506fc31266ca68107e801257f46e345f499176 v: v3 --- [refs] | 2 +- trunk/drivers/base/regmap/regmap-debugfs.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 90c8b15a3cdc..285c5515b38a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c2c1ee66016a45477f58f0fd30907b1e959ca76b +refs/heads/master: cf57d6071f0610c99856c006ac06eb98a151f485 diff --git a/trunk/drivers/base/regmap/regmap-debugfs.c b/trunk/drivers/base/regmap/regmap-debugfs.c index 3fade1ceaf15..246f459e9170 100644 --- a/trunk/drivers/base/regmap/regmap-debugfs.c +++ b/trunk/drivers/base/regmap/regmap-debugfs.c @@ -139,15 +139,17 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map, WARN_ON(list_empty(&map->debugfs_off_cache)); ret = base; - /* Find the relevant block */ + /* Find the relevant block:offset */ list_for_each_entry(c, &map->debugfs_off_cache, list) { if (from >= c->min && from <= c->max) { - *pos = c->min; - return c->base_reg; + fpos_offset = from - c->min; + reg_offset = fpos_offset / map->debugfs_tot_len; + *pos = c->min + (reg_offset * map->debugfs_tot_len); + return c->base_reg + reg_offset; } - *pos = c->min; - ret = c->base_reg; + *pos = c->max; + ret = c->max_reg; } return ret;