regcache: Make sure we sync register 0 in an rbtree cache
Mark Brown [Mon, 5 Mar 2012 23:31:39 +0000 (23:31 +0000)]
Most of the current users have register 0 as a volatile register or don't
have a register 0 so it's not been apparent that it's not getting synced.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

drivers/base/regmap/regcache-rbtree.c

index 32620c4..861ad2c 100644 (file)
@@ -377,7 +377,7 @@ static int regcache_rbtree_sync(struct regmap *map)
 
                        /* Is this the hardware default?  If so skip. */
                        ret = regcache_lookup_reg(map, i);
-                       if (ret > 0 && val == map->reg_defaults[ret].def)
+                       if (ret >= 0 && val == map->reg_defaults[ret].def)
                                continue;
 
                        map->cache_bypass = 1;