[PATCH] clk: imx: pll14xx: introduce imx_clk_hw_pll14xx_flags
From: Peng Fan
Date: Wed Nov 13 2019 - 02:27:05 EST
From: Peng Fan <peng.fan@xxxxxxx>
Introduce imx_clk_hw_pll14xx_flags, then no need to add new
imx_pll14xx_clk variable for new flags.
Since the original imx_pll14xx_clk flags is not used, so drop it.
Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
V1:
Based on https://patchwork.kernel.org/patch/11217889/
drivers/clk/imx/clk-pll14xx.c | 12 +++++++++++-
drivers/clk/imx/clk.h | 7 ++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/imx/clk-pll14xx.c b/drivers/clk/imx/clk-pll14xx.c
index 2bbcfbf8081a..a8af949f0848 100644
--- a/drivers/clk/imx/clk-pll14xx.c
+++ b/drivers/clk/imx/clk-pll14xx.c
@@ -379,6 +379,16 @@ struct clk_hw *imx_clk_hw_pll14xx(const char *name, const char *parent_name,
void __iomem *base,
const struct imx_pll14xx_clk *pll_clk)
{
+
+ return imx_clk_hw_pll14xx_flags(name, parent_name, base, pll_clk, 0);
+}
+
+struct clk_hw *imx_clk_hw_pll14xx_flags(const char *name,
+ const char *parent_name,
+ void __iomem *base,
+ const struct imx_pll14xx_clk *pll_clk,
+ unsigned long flags)
+{
struct clk_pll14xx *pll;
struct clk_hw *hw;
struct clk_init_data init;
@@ -390,7 +400,7 @@ struct clk_hw *imx_clk_hw_pll14xx(const char *name, const char *parent_name,
return ERR_PTR(-ENOMEM);
init.name = name;
- init.flags = pll_clk->flags;
+ init.flags = flags;
init.parent_names = &parent_name;
init.num_parents = 1;
diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h
index cd92d9fdccf4..c2851a82b4fd 100644
--- a/drivers/clk/imx/clk.h
+++ b/drivers/clk/imx/clk.h
@@ -48,7 +48,6 @@ struct imx_pll14xx_clk {
enum imx_pll14xx_type type;
const struct imx_pll14xx_rate_table *rate_table;
int rate_count;
- int flags;
};
extern struct imx_pll14xx_clk imx_1416x_pll;
@@ -105,6 +104,12 @@ struct clk_hw *imx_clk_hw_pll14xx(const char *name, const char *parent_name,
void __iomem *base,
const struct imx_pll14xx_clk *pll_clk);
+struct clk_hw *imx_clk_hw_pll14xx_flags(const char *name,
+ const char *parent_name,
+ void __iomem *base,
+ const struct imx_pll14xx_clk *pll_clk,
+ unsigned long flags);
+
struct clk *imx_clk_pllv1(enum imx_pllv1_type type, const char *name,
const char *parent, void __iomem *base);
--
2.16.4