Re: [PATCH 1/2] regmap: debugfs: Add a registers `range' file

From: Dimitris Papastamos
Date: Thu Feb 14 2013 - 10:00:57 EST


On Thu, Feb 14, 2013 at 02:43:06PM +0000, Mark Brown wrote:
> On Thu, Feb 14, 2013 at 12:31:44PM +0000, Dimitris Papastamos wrote:
>
> > @@ -96,6 +116,7 @@ static unsigned int regmap_debugfs_get_dump_start(struct regmap *map,
> > if (c) {
> > c->max = p - 1;
> > c->max_reg = i - 1;
> > + c->reg_attr = regmap_attr_bitmap(map, c->max_reg);
> > list_add_tail(&c->list,
> > &map->debugfs_off_cache);
> > c = NULL;
>
> What happens if we have three registers like below?
>
> X: read, write
> X+1: read, write, volatile
> X+2: read, write
>
> It looks like we'll not flag X+1 as volatile, we'll just take the last
> value we saw.

Hm yes, right. So the problem here is that we split on the condition that
is something is printable or not. We do not actually split on any of the
possible changes of the register attributes. Any of the blocks of registers
should have registers that have exactly the same set of attributes.

I will look into this to fix.

Thanks,
Dimitris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/