From: Mark Brown Date: Tue, 10 Apr 2012 10:01:07 +0000 (+0100) Subject: Merge branches 'regmap-core', 'regmap-mmio' and 'regmap-naming' into regmap-stride X-Git-Tag: next-20120417~16^2~1^2~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c0cc6fe1d09e3f1baecbdf8922473c8e7d3a5317;p=karo-tx-linux.git Merge branches 'regmap-core', 'regmap-mmio' and 'regmap-naming' into regmap-stride --- c0cc6fe1d09e3f1baecbdf8922473c8e7d3a5317 diff --cc drivers/base/regmap/regcache-rbtree.c index 92b779ee002b,5157fa04c2f0,cca46007d969,5157fa04c2f0..e49e71fab184 --- a/drivers/base/regmap/regcache-rbtree.c +++ b/drivers/base/regmap/regcache-rbtree.c @@@@@ -138,9 -138,8 -138,8 -138,8 +138,9 @@@@@ static int rbtree_show(struct seq_file unsigned int base, top; int nodes = 0; int registers = 0; +++ int average; -- - mutex_lock(&map->lock); ++ + map->lock(map); for (node = rb_first(&rbtree_ctx->root); node != NULL; node = rb_next(node)) { @@@@@ -153,15 -152,10 -152,10 -152,10 +153,15 @@@@@ registers += top - base + 1; } +++ if (nodes) +++ average = registers / nodes; +++ else +++ average = 0; +++ seq_printf(s, "%d nodes, %d registers, average %d registers\n", --- nodes, registers, registers / nodes); +++ nodes, registers, average); -- - mutex_unlock(&map->lock); ++ + map->unlock(map); return 0; } diff --cc drivers/base/regmap/regmap.c index 7a3f535e481c,178989a8949e,ee4fea351220,b1dad1f9c47d..40f910162781 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@@@@ -191,8 -212,9 -221,9 -191,8 +242,10 @@@@@ struct regmap *regmap_init(struct devic map->format.pad_bytes = config->pad_bits / 8; map->format.val_bytes = DIV_ROUND_UP(config->val_bits, 8); map->format.buf_size += map->format.pad_bytes; + ++ map->reg_shift = config->pad_bits % 8; map->dev = dev; map->bus = bus; ++ + map->bus_context = bus_context; map->max_register = config->max_register; map->writeable_reg = config->writeable_reg; map->readable_reg = config->readable_reg;