diff options
author | Maxime Ripard <maxime@cerno.tech> | 2022-10-26 16:46:58 +0300 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2022-12-08 00:54:01 +0300 |
commit | ef13f8b64728c4b4d28639bbcf30fe1314b18482 (patch) | |
tree | 3f320c1b78ae80dc2550048ae64d7bdf3bfe955f | |
parent | 9abf2313adc1ca1b6180c508c25f22f9395cc780 (diff) | |
download | linux-ef13f8b64728c4b4d28639bbcf30fe1314b18482.tar.xz |
clk: Store clk_core for clk_rate_request
The struct clk_rate_request is meant to store the context around a rate
request such as the parent, boundaries, and so on.
However, it doesn't store the clock the rate request is submitted to,
which makes debugging difficult.
Let's add a pointer to the relevant clk_core instance in order to
improve the debugging of rate requests in a subsequent patch.
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20221018-clk-rate-request-tracing-v2-1-5170b363c413@cerno.tech
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
-rw-r--r-- | drivers/clk/clk.c | 1 | ||||
-rw-r--r-- | include/linux/clk-provider.h | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index c3c3f8c07258..042e32acce0b 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1464,6 +1464,7 @@ static void clk_core_init_rate_req(struct clk_core * const core, memset(req, 0, sizeof(*req)); + req->core = core; req->rate = rate; clk_core_get_boundaries(core, &req->min_rate, &req->max_rate); diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 267cd06b54a0..842e72a5348f 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -44,6 +44,7 @@ struct dentry; * * Should be initialized by calling clk_hw_init_rate_request(). * + * @core: Pointer to the struct clk_core affected by this request * @rate: Requested clock rate. This field will be adjusted by * clock drivers according to hardware capabilities. * @min_rate: Minimum rate imposed by clk users. @@ -55,6 +56,7 @@ struct dentry; * */ struct clk_rate_request { + struct clk_core *core; unsigned long rate; unsigned long min_rate; unsigned long max_rate; |