]> git.karo-electronics.de Git - linux-beck.git/commitdiff
clk: samsung: Introduce a common samsung_clk_pll struct
authorYadwinder Singh Brar <yadi.brar@samsung.com>
Tue, 11 Jun 2013 09:31:06 +0000 (15:01 +0530)
committerMike Turquette <mturquette@linaro.org>
Fri, 2 Aug 2013 20:19:17 +0000 (13:19 -0700)
This patch unifies clk strutures used for PLL35xx & PLL36xx and
adding an extra member lock_reg, so that common code can be factored out.

Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/samsung/clk-pll.c

index 362f12dcd94422fd7fb6c9da1c9b71684e649cef..f62f854184884ed5b97ea3788ddce98dccf1a382 100644 (file)
 #include "clk.h"
 #include "clk-pll.h"
 
+struct samsung_clk_pll {
+       struct clk_hw           hw;
+       void __iomem            *lock_reg;
+       void __iomem            *con_reg;
+};
+
+#define to_clk_pll(_hw) container_of(_hw, struct samsung_clk_pll, hw)
+
 /*
  * PLL35xx Clock Type
  */
 #define PLL35XX_PDIV_SHIFT      (8)
 #define PLL35XX_SDIV_SHIFT      (0)
 
-struct samsung_clk_pll35xx {
-       struct clk_hw           hw;
-       const void __iomem      *con_reg;
-};
-
-#define to_clk_pll35xx(_hw) container_of(_hw, struct samsung_clk_pll35xx, hw)
-
 static unsigned long samsung_pll35xx_recalc_rate(struct clk_hw *hw,
                                unsigned long parent_rate)
 {
-       struct samsung_clk_pll35xx *pll = to_clk_pll35xx(hw);
+       struct samsung_clk_pll *pll = to_clk_pll(hw);
        u32 mdiv, pdiv, sdiv, pll_con;
        u64 fvco = parent_rate;
 
@@ -56,7 +57,7 @@ static const struct clk_ops samsung_pll35xx_clk_ops = {
 struct clk * __init samsung_clk_register_pll35xx(const char *name,
                        const char *pname, const void __iomem *con_reg)
 {
-       struct samsung_clk_pll35xx *pll;
+       struct samsung_clk_pll *pll;
        struct clk *clk;
        struct clk_init_data init;
 
@@ -100,17 +101,10 @@ struct clk * __init samsung_clk_register_pll35xx(const char *name,
 #define PLL36XX_PDIV_SHIFT     (8)
 #define PLL36XX_SDIV_SHIFT     (0)
 
-struct samsung_clk_pll36xx {
-       struct clk_hw           hw;
-       const void __iomem      *con_reg;
-};
-
-#define to_clk_pll36xx(_hw) container_of(_hw, struct samsung_clk_pll36xx, hw)
-
 static unsigned long samsung_pll36xx_recalc_rate(struct clk_hw *hw,
                                unsigned long parent_rate)
 {
-       struct samsung_clk_pll36xx *pll = to_clk_pll36xx(hw);
+       struct samsung_clk_pll *pll = to_clk_pll(hw);
        u32 mdiv, pdiv, sdiv, pll_con0, pll_con1;
        s16 kdiv;
        u64 fvco = parent_rate;
@@ -136,7 +130,7 @@ static const struct clk_ops samsung_pll36xx_clk_ops = {
 struct clk * __init samsung_clk_register_pll36xx(const char *name,
                        const char *pname, const void __iomem *con_reg)
 {
-       struct samsung_clk_pll36xx *pll;
+       struct samsung_clk_pll *pll;
        struct clk *clk;
        struct clk_init_data init;