[PATCH v2 2/5] regcache: rbtree: Split ->populate() from ->init()

Andy Shevchenko posted 5 patches 3 months, 1 week ago
There is a newer version of this series
[PATCH v2 2/5] regcache: rbtree: Split ->populate() from ->init()
Posted by Andy Shevchenko 3 months, 1 week ago
Split ->populate() implementation from ->init() code.
This decoupling will help for the further changes.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/base/regmap/regcache-rbtree.c | 31 +++++++++++++++------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/drivers/base/regmap/regcache-rbtree.c b/drivers/base/regmap/regcache-rbtree.c
index a9d17f316e55..2751714d52ea 100644
--- a/drivers/base/regmap/regcache-rbtree.c
+++ b/drivers/base/regmap/regcache-rbtree.c
@@ -184,8 +184,6 @@ static void rbtree_debugfs_init(struct regmap *map)
 static int regcache_rbtree_init(struct regmap *map)
 {
 	struct regcache_rbtree_ctx *rbtree_ctx;
-	int i;
-	int ret;
 
 	map->cache = kmalloc(sizeof *rbtree_ctx, map->alloc_flags);
 	if (!map->cache)
@@ -195,19 +193,7 @@ static int regcache_rbtree_init(struct regmap *map)
 	rbtree_ctx->root = RB_ROOT;
 	rbtree_ctx->cached_rbnode = NULL;
 
-	for (i = 0; i < map->num_reg_defaults; i++) {
-		ret = regcache_rbtree_write(map,
-					    map->reg_defaults[i].reg,
-					    map->reg_defaults[i].def);
-		if (ret)
-			goto err;
-	}
-
 	return 0;
-
-err:
-	regcache_rbtree_exit(map);
-	return ret;
 }
 
 static int regcache_rbtree_exit(struct regmap *map)
@@ -239,6 +225,22 @@ static int regcache_rbtree_exit(struct regmap *map)
 	return 0;
 }
 
+static int regcache_rbtree_populate(struct regmap *map)
+{
+	unsigned int i;
+	int ret;
+
+	for (i = 0; i < map->num_reg_defaults; i++) {
+		ret = regcache_rbtree_write(map,
+					    map->reg_defaults[i].reg,
+					    map->reg_defaults[i].def);
+		if (ret)
+			return ret;
+	}
+
+	return 0;
+}
+
 static int regcache_rbtree_read(struct regmap *map,
 				unsigned int reg, unsigned int *value)
 {
@@ -546,6 +548,7 @@ struct regcache_ops regcache_rbtree_ops = {
 	.name = "rbtree",
 	.init = regcache_rbtree_init,
 	.exit = regcache_rbtree_exit,
+	.populate= regcache_rbtree_populate,
 #ifdef CONFIG_DEBUG_FS
 	.debugfs_init = rbtree_debugfs_init,
 #endif
-- 
2.50.1
Re: [PATCH v2 2/5] regcache: rbtree: Split ->populate() from ->init()
Posted by Mark Brown 3 months, 1 week ago
On Thu, Oct 30, 2025 at 06:37:02PM +0100, Andy Shevchenko wrote:

> +	.populate= regcache_rbtree_populate,

Missing space.
Re: [PATCH v2 2/5] regcache: rbtree: Split ->populate() from ->init()
Posted by Andy Shevchenko 3 months, 1 week ago
On Thu, Oct 30, 2025 at 06:05:39PM +0000, Mark Brown wrote:
> On Thu, Oct 30, 2025 at 06:37:02PM +0100, Andy Shevchenko wrote:
> 
> > +	.populate= regcache_rbtree_populate,
> 
> Missing space.

Do I need to send a new version for this? If so, I would wait a bit to see that
0day is happy about the series (again) and send a new version.


Thank you for the review!


-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v2 2/5] regcache: rbtree: Split ->populate() from ->init()
Posted by Andy Shevchenko 3 months, 1 week ago
On Thu, Oct 30, 2025 at 09:05:58PM +0200, Andy Shevchenko wrote:
> On Thu, Oct 30, 2025 at 06:05:39PM +0000, Mark Brown wrote:
> > On Thu, Oct 30, 2025 at 06:37:02PM +0100, Andy Shevchenko wrote:
> > 
> > > +	.populate= regcache_rbtree_populate,
> > 
> > Missing space.
> 
> Do I need to send a new version for this? If so, I would wait a bit to see that
> 0day is happy about the series (again) and send a new version.

I just sent a v3.

> Thank you for the review!

-- 
With Best Regards,
Andy Shevchenko