提交 2f1a2c1d 编写于 作者: D Dong Aisheng 提交者: Shawn Guo

clk: imx: scu: allow scu clk to take device pointer

Used to support runtime pm.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Michael Turquette <mturquette@baylibre.com>
Reviewed-by: NStephen Boyd <sboyd@kernel.org>
Signed-off-by: NDong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: NShawn Guo <shawnguo@kernel.org>
上级 0d5f1f47
...@@ -387,8 +387,9 @@ static const struct clk_ops clk_scu_cpu_ops = { ...@@ -387,8 +387,9 @@ static const struct clk_ops clk_scu_cpu_ops = {
.unprepare = clk_scu_unprepare, .unprepare = clk_scu_unprepare,
}; };
struct clk_hw *__imx_clk_scu(const char *name, const char * const *parents, struct clk_hw *__imx_clk_scu(struct device *dev, const char *name,
int num_parents, u32 rsrc_id, u8 clk_type) const char * const *parents, int num_parents,
u32 rsrc_id, u8 clk_type)
{ {
struct clk_init_data init; struct clk_init_data init;
struct clk_scu *clk; struct clk_scu *clk;
...@@ -422,7 +423,7 @@ struct clk_hw *__imx_clk_scu(const char *name, const char * const *parents, ...@@ -422,7 +423,7 @@ struct clk_hw *__imx_clk_scu(const char *name, const char * const *parents,
clk->hw.init = &init; clk->hw.init = &init;
hw = &clk->hw; hw = &clk->hw;
ret = clk_hw_register(NULL, hw); ret = clk_hw_register(dev, hw);
if (ret) { if (ret) {
kfree(clk); kfree(clk);
hw = ERR_PTR(ret); hw = ERR_PTR(ret);
...@@ -453,7 +454,7 @@ static int imx_clk_scu_probe(struct platform_device *pdev) ...@@ -453,7 +454,7 @@ static int imx_clk_scu_probe(struct platform_device *pdev)
struct imx_scu_clk_node *clk = dev_get_platdata(dev); struct imx_scu_clk_node *clk = dev_get_platdata(dev);
struct clk_hw *hw; struct clk_hw *hw;
hw = __imx_clk_scu(clk->name, clk->parents, clk->num_parents, hw = __imx_clk_scu(NULL, clk->name, clk->parents, clk->num_parents,
clk->rsrc, clk->clk_type); clk->rsrc, clk->clk_type);
if (IS_ERR(hw)) if (IS_ERR(hw))
return PTR_ERR(hw); return PTR_ERR(hw);
......
...@@ -19,8 +19,9 @@ struct clk_hw *imx_clk_scu_alloc_dev(const char *name, ...@@ -19,8 +19,9 @@ struct clk_hw *imx_clk_scu_alloc_dev(const char *name,
const char * const *parents, const char * const *parents,
int num_parents, u32 rsrc_id, u8 clk_type); int num_parents, u32 rsrc_id, u8 clk_type);
struct clk_hw *__imx_clk_scu(const char *name, const char * const *parents, struct clk_hw *__imx_clk_scu(struct device *dev, const char *name,
int num_parents, u32 rsrc_id, u8 clk_type); const char * const *parents, int num_parents,
u32 rsrc_id, u8 clk_type);
void imx_clk_scu_unregister(void); void imx_clk_scu_unregister(void);
...@@ -30,7 +31,7 @@ static inline struct clk_hw *imx_clk_scu(const char *name, u32 rsrc_id, ...@@ -30,7 +31,7 @@ static inline struct clk_hw *imx_clk_scu(const char *name, u32 rsrc_id,
if (clk_cells == 2) if (clk_cells == 2)
return imx_clk_scu_alloc_dev(name, NULL, 0, rsrc_id, clk_type); return imx_clk_scu_alloc_dev(name, NULL, 0, rsrc_id, clk_type);
else else
return __imx_clk_scu(name, NULL, 0, rsrc_id, clk_type); return __imx_clk_scu(NULL, name, NULL, 0, rsrc_id, clk_type);
} }
static inline struct clk_hw *imx_clk_scu2(const char *name, const char * const *parents, static inline struct clk_hw *imx_clk_scu2(const char *name, const char * const *parents,
...@@ -40,7 +41,7 @@ static inline struct clk_hw *imx_clk_scu2(const char *name, const char * const * ...@@ -40,7 +41,7 @@ static inline struct clk_hw *imx_clk_scu2(const char *name, const char * const *
if (clk_cells == 2) if (clk_cells == 2)
return imx_clk_scu_alloc_dev(name, parents, num_parents, rsrc_id, clk_type); return imx_clk_scu_alloc_dev(name, parents, num_parents, rsrc_id, clk_type);
else else
return __imx_clk_scu(name, parents, num_parents, rsrc_id, clk_type); return __imx_clk_scu(NULL, name, parents, num_parents, rsrc_id, clk_type);
} }
struct clk_hw *imx_clk_lpcg_scu(const char *name, const char *parent_name, struct clk_hw *imx_clk_lpcg_scu(const char *name, const char *parent_name,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册