regmap: debugfs: Disambiguate dummy debugfs file name
authorFabio Estevam <fabio.estevam@nxp.com>
Mon, 5 Mar 2018 18:52:09 +0000 (15:52 -0300)
committerMark Brown <broonie@kernel.org>
Mon, 5 Mar 2018 19:23:26 +0000 (19:23 +0000)
Since commit 9b947a13e7f6 ("regmap: use debugfs even when no device")
allows the usage of regmap debugfs even when there is no device
associated, which causes several warnings like this:

(NULL device *): Failed to create debugfs directory

This happens when the debugfs file name is 'dummy'.

The first dummy debugfs creation works fine, but subsequent creations
fail as they have all the same name.

Disambiguate the 'dummy' debugfs file name by adding a suffix entry,
so that the names become dummy0, dummy1, dummy2, etc.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap-debugfs.c

index 7eb512b..e3e7b91 100644 (file)
@@ -25,6 +25,7 @@ struct regmap_debugfs_node {
        struct list_head link;
 };
 
+static unsigned int dummy_index;
 static struct dentry *regmap_debugfs_root;
 static LIST_HEAD(regmap_debugfs_early_list);
 static DEFINE_MUTEX(regmap_debugfs_early_lock);
@@ -573,6 +574,11 @@ void regmap_debugfs_init(struct regmap *map, const char *name)
                name = devname;
        }
 
+       if (!strcmp(name, "dummy")) {
+               name = kasprintf(GFP_KERNEL, "dummy%d", dummy_index);
+               dummy_index++;
+       }
+
        map->debugfs = debugfs_create_dir(name, regmap_debugfs_root);
        if (!map->debugfs) {
                dev_warn(map->dev, "Failed to create debugfs directory\n");