]> git.karo-electronics.de Git - linux-beck.git/commitdiff
regmap: rbtree: Don't bother checking for noop updates
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 21 Feb 2013 18:01:54 +0000 (18:01 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 4 Mar 2013 02:30:27 +0000 (10:30 +0800)
If we're updating a value in place it's more work to read the value and
compare the value with what we're about to set than it is to just write
the value into the cache; there are no further operations after writing
in the code even though there's an early return here.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/base/regmap/regcache-rbtree.c

index e6732cf7c06eea7aedf62e383a390ef3e61c3fe2..3f21c6ab296f9b41059d17aeb5e2ca68e9cf13f6 100644 (file)
@@ -302,7 +302,6 @@ static int regcache_rbtree_write(struct regmap *map, unsigned int reg,
        struct regcache_rbtree_ctx *rbtree_ctx;
        struct regcache_rbtree_node *rbnode, *rbnode_tmp;
        struct rb_node *node;
-       unsigned int val;
        unsigned int reg_tmp;
        unsigned int pos;
        int i;
@@ -315,10 +314,6 @@ static int regcache_rbtree_write(struct regmap *map, unsigned int reg,
        rbnode = regcache_rbtree_lookup(map, reg);
        if (rbnode) {
                reg_tmp = (reg - rbnode->base_reg) / map->reg_stride;
-               val = regcache_rbtree_get_register(rbnode, reg_tmp,
-                                                  map->cache_word_size);
-               if (val == value)
-                       return 0;
                regcache_rbtree_set_register(rbnode, reg_tmp, value,
                                             map->cache_word_size);
        } else {