Commit 87052383 authored by Abel Vesa's avatar Abel Vesa Committed by Shawn Guo

clk: imx: pllv2: Switch to clk_hw based API

Switch the imx_clk_pllv2 register function to clk_hw based API, rename
accordingly 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: default avatarAbel Vesa <abel.vesa@nxp.com>
Reviewed-by: default avatarPeng Fan <peng.fan@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 556f7880
...@@ -239,12 +239,13 @@ static const struct clk_ops clk_pllv2_ops = { ...@@ -239,12 +239,13 @@ static const struct clk_ops clk_pllv2_ops = {
.set_rate = clk_pllv2_set_rate, .set_rate = clk_pllv2_set_rate,
}; };
struct clk *imx_clk_pllv2(const char *name, const char *parent, struct clk_hw *imx_clk_hw_pllv2(const char *name, const char *parent,
void __iomem *base) void __iomem *base)
{ {
struct clk_pllv2 *pll; struct clk_pllv2 *pll;
struct clk *clk; struct clk_hw *hw;
struct clk_init_data init; struct clk_init_data init;
int ret;
pll = kzalloc(sizeof(*pll), GFP_KERNEL); pll = kzalloc(sizeof(*pll), GFP_KERNEL);
if (!pll) if (!pll)
...@@ -259,10 +260,13 @@ struct clk *imx_clk_pllv2(const char *name, const char *parent, ...@@ -259,10 +260,13 @@ struct clk *imx_clk_pllv2(const char *name, const char *parent,
init.num_parents = 1; init.num_parents = 1;
pll->hw.init = &init; pll->hw.init = &init;
hw = &pll->hw;
clk = clk_register(NULL, &pll->hw); ret = clk_hw_register(NULL, hw);
if (IS_ERR(clk)) if (ret) {
kfree(pll); kfree(pll);
return ERR_PTR(ret);
}
return clk; return hw;
} }
...@@ -113,13 +113,16 @@ extern struct imx_pll14xx_clk imx_1443x_dram_pll; ...@@ -113,13 +113,16 @@ extern struct imx_pll14xx_clk imx_1443x_dram_pll;
#define imx_clk_pllv1(type, name, parent, base) \ #define imx_clk_pllv1(type, name, parent, base) \
to_clk(imx_clk_hw_pllv1(type, name, parent, base)) to_clk(imx_clk_hw_pllv1(type, name, parent, base))
#define imx_clk_pllv2(name, parent, base) \
to_clk(imx_clk_hw_pllv2(name, parent, base))
struct clk *imx_clk_pll14xx(const char *name, const char *parent_name, struct clk *imx_clk_pll14xx(const char *name, const char *parent_name,
void __iomem *base, const struct imx_pll14xx_clk *pll_clk); void __iomem *base, const struct imx_pll14xx_clk *pll_clk);
struct clk_hw *imx_clk_hw_pllv1(enum imx_pllv1_type type, const char *name, struct clk_hw *imx_clk_hw_pllv1(enum imx_pllv1_type type, const char *name,
const char *parent, void __iomem *base); const char *parent, void __iomem *base);
struct clk *imx_clk_pllv2(const char *name, const char *parent, struct clk_hw *imx_clk_hw_pllv2(const char *name, const char *parent,
void __iomem *base); void __iomem *base);
struct clk *imx_clk_frac_pll(const char *name, const char *parent_name, struct clk *imx_clk_frac_pll(const char *name, const char *parent_name,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment