linux-next: manual merge of the regmap tree with the regmap-fixes tree
From: Mark Brown
Date: Mon Oct 19 2026 - 14:22:25 EST
Hi all,
Today's linux-next merge of the regmap tree got conflicts in:
drivers/base/regmap/regcache.c
drivers/base/regmap/regmap-debugfs.c
between commits:
834035934cef9 ("regmap: Remove debugfs before cache teardown")
abff0a48b110f ("regmap: Drop map lock during cache init and exit")
from the regmap-fixes tree and commits:
81556a7aec225 ("regcache: extract locked helpers to replace open-coded lock/unlock pairs")
a93de1d65c6b5 ("regmap: debugfs: Use guard to simplify code")
from the regmap tree (I'll redo these before sending the pull to Linus).
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
diff --cc drivers/base/regmap/regcache.c
index b137ded7fdd44,3b1c2f28d5852..0000000000000
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@@ -273,14 -291,10 +298,13 @@@ void regcache_exit(struct regmap *map
BUG_ON(!map->cache_ops);
regcache_hw_exit(map);
-
- regcache_locked_exit(map);
+ if (map->cache_ops->exit) {
- dev_dbg(map->dev, "Destroying %s cache\n",
- map->cache_ops->name);
++ dev_dbg(map->dev, "Destroying %s cache\n", map->cache_ops->name);
+ map->cache_ops->exit(map);
+ }
kfree(map->reg_defaults);
+ map->reg_defaults = NULL;
}
/**
diff --cc drivers/base/regmap/regmap-debugfs.c
index 9a09df2ba8479,b62a5dce027b4..0000000000000
--- a/drivers/base/regmap/regmap-debugfs.c
+++ b/drivers/base/regmap/regmap-debugfs.c
@@@ -662,12 -641,12 +641,13 @@@ void regmap_debugfs_init(struct regmap
void regmap_debugfs_exit(struct regmap *map)
{
+ struct regmap_debugfs_node *node, *tmp;
+
if (map->debugfs) {
debugfs_remove_recursive(map->debugfs);
+ map->debugfs = NULL;
- mutex_lock(&map->cache_lock);
- regmap_debugfs_free_dump_cache(map);
- mutex_unlock(&map->cache_lock);
+ scoped_guard(mutex, &map->cache_lock)
+ regmap_debugfs_free_dump_cache(map);
if (map->debugfs_dummy_id >= 0) {
ida_free(&dummy_ida, map->debugfs_dummy_id);
map->debugfs_dummy_id = -1;
Attachment:
signature.asc
Description: PGP signature