regmap: Use mas_walk() instead of mas_find()
authorMark Brown <broonie@kernel.org>
Tue, 4 Apr 2023 19:42:28 +0000 (20:42 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 5 Apr 2023 10:39:58 +0000 (11:39 +0100)
Liam recommends using mas_walk() instead of mas_find() for our use case so
let's do that, it avoids some minor overhead associated with being able to
restart the operation which we don't need since we do a simple search.

Suggested-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230403-regmap-maple-walk-fine-v2-1-c07371c8a867@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regcache-maple.c

index 20fb722..9b1b559 100644 (file)
@@ -22,7 +22,7 @@ static int regcache_maple_read(struct regmap *map,
 
        rcu_read_lock();
 
-       entry = mas_find(&mas, reg);
+       entry = mas_walk(&mas);
        if (!entry) {
                rcu_read_unlock();
                return -ENOENT;
@@ -47,7 +47,7 @@ static int regcache_maple_write(struct regmap *map, unsigned int reg,
 
        rcu_read_lock();
 
-       entry = mas_find(&mas, reg);
+       entry = mas_walk(&mas);
        if (entry) {
                entry[reg - mas.index] = val;
                rcu_read_unlock();