diff options
author | Abel Vesa <abel.vesa@nxp.com> | 2019-05-29 14:26:42 +0200 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2019-06-07 02:36:20 +0200 |
commit | 2bc7e9dc1c19bfb88b9245b22d5703fb5aaf72de (patch) | |
tree | 3773007c45191158845b07f88d897cd0935dc7d0 /drivers/clk/imx/clk-cpu.c | |
parent | clk: imx: clk-busy: Switch to clk_hw based API (diff) | |
download | linux-2bc7e9dc1c19bfb88b9245b22d5703fb5aaf72de.tar.xz linux-2bc7e9dc1c19bfb88b9245b22d5703fb5aaf72de.zip |
clk: imx: clk-cpu: Switch to clk_hw based API
Switch the clk_cpu clock registering function to clk_hw based API and add
a macro for clk based legacy. This allows us to move closer to a clear
split between consumer and provider clk APIs.
Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'drivers/clk/imx/clk-cpu.c')
-rw-r--r-- | drivers/clk/imx/clk-cpu.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/clk/imx/clk-cpu.c b/drivers/clk/imx/clk-cpu.c index ed1b7e97a0d3..a7b90059716e 100644 --- a/drivers/clk/imx/clk-cpu.c +++ b/drivers/clk/imx/clk-cpu.c @@ -75,13 +75,14 @@ static const struct clk_ops clk_cpu_ops = { .set_rate = clk_cpu_set_rate, }; -struct clk *imx_clk_cpu(const char *name, const char *parent_name, +struct clk_hw *imx_clk_hw_cpu(const char *name, const char *parent_name, struct clk *div, struct clk *mux, struct clk *pll, struct clk *step) { struct clk_cpu *cpu; - struct clk *clk; + struct clk_hw *hw; struct clk_init_data init; + int ret; cpu = kzalloc(sizeof(*cpu), GFP_KERNEL); if (!cpu) @@ -99,10 +100,13 @@ struct clk *imx_clk_cpu(const char *name, const char *parent_name, init.num_parents = 1; cpu->hw.init = &init; + hw = &cpu->hw; - clk = clk_register(NULL, &cpu->hw); - if (IS_ERR(clk)) + ret = clk_hw_register(NULL, hw); + if (ret) { kfree(cpu); + return ERR_PTR(ret); + } - return clk; + return hw; } |