[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250108005854.2973184-2-sboyd@kernel.org>
Date: Tue, 7 Jan 2025 16:58:46 -0800
From: Stephen Boyd <sboyd@...nel.org>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>
Cc: linux-kernel@...r.kernel.org,
linux-clk@...r.kernel.org,
patches@...ts.linux.dev
Subject: [PATCH 1/4] clk: Prepare clk_debug_create_one() to be split off
In a later patch we're going to move clk_debug_create_one() to a
loadable kernel module. Prepare for that step by returning the dentry
created in there from the function and wrap that all up in a new
function, clk_core_debug_create_one(), that we can call in both places
the dentry is created. Similarly, don't pass the 'pdentry' argument to
clk_debug_create_one() because it's always the global 'rootdir', so just
use that where it is used instead of passing it. We can remove the NULL
checks too because we know the pointers are always valid.
Signed-off-by: Stephen Boyd <sboyd@...nel.org>
---
drivers/clk/clk.c | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index bdc6e5b90da5..1a94a27194c9 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -3705,14 +3705,11 @@ static int clk_max_rate_show(struct seq_file *s, void *data)
}
DEFINE_SHOW_ATTRIBUTE(clk_max_rate);
-static void clk_debug_create_one(struct clk_core *core, struct dentry *pdentry)
+static struct dentry *clk_debug_create_one(struct clk_core *core)
{
struct dentry *root;
- if (!core || !pdentry)
- return;
-
- root = debugfs_create_dir(core->name, pdentry);
+ root = debugfs_create_dir(core->name, rootdir);
core->dentry = root;
debugfs_create_file("clk_rate", clk_rate_mode, root, core,
@@ -3746,8 +3743,19 @@ static void clk_debug_create_one(struct clk_core *core, struct dentry *pdentry)
debugfs_create_file("clk_possible_parents", 0444, root, core,
&possible_parents_fops);
+ return root;
+}
+
+static void clk_core_debug_create_one(struct clk_core *core)
+{
+ struct clk_hw *hw = core->hw;
+
+ if (!inited)
+ return;
+
+ core->dentry = clk_debug_create_one(core);
if (core->ops->debug_init)
- core->ops->debug_init(core->hw, core->dentry);
+ core->ops->debug_init(hw, core->dentry);
}
/**
@@ -3762,8 +3770,7 @@ static void clk_debug_register(struct clk_core *core)
{
mutex_lock(&clk_debug_lock);
hlist_add_head(&core->debug_node, &clk_debug_list);
- if (inited)
- clk_debug_create_one(core, rootdir);
+ clk_core_debug_create_one(core);
mutex_unlock(&clk_debug_lock);
}
@@ -3827,10 +3834,9 @@ static int __init clk_debug_init(void)
&clk_dump_fops);
mutex_lock(&clk_debug_lock);
- hlist_for_each_entry(core, &clk_debug_list, debug_node)
- clk_debug_create_one(core, rootdir);
-
inited = 1;
+ hlist_for_each_entry(core, &clk_debug_list, debug_node)
+ clk_core_debug_create_one(core);
mutex_unlock(&clk_debug_lock);
return 0;
--
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git
Powered by blists - more mailing lists