clk: versatile: pass a name to ICST clock provider
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 22 Nov 2013 10:30:05 +0000 (11:30 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 3 Jan 2014 21:27:38 +0000 (22:27 +0100)
When we have more than one of these clocks in a system (such as
on the IM-PD1) we need a mechanism to pass a name for the clock.
Refactor to add this as an argument.

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/clk/versatile/clk-icst.c
drivers/clk/versatile/clk-icst.h
drivers/clk/versatile/clk-impd1.c
drivers/clk/versatile/clk-integrator.c
drivers/clk/versatile/clk-realview.c

index f5e4c21..8cbfcf8 100644 (file)
@@ -119,6 +119,7 @@ static const struct clk_ops icst_ops = {
 
 struct clk *icst_clk_register(struct device *dev,
                        const struct clk_icst_desc *desc,
+                       const char *name,
                        void __iomem *base)
 {
        struct clk *clk;
@@ -130,7 +131,7 @@ struct clk *icst_clk_register(struct device *dev,
                pr_err("could not allocate ICST clock!\n");
                return ERR_PTR(-ENOMEM);
        }
-       init.name = "icst";
+       init.name = name;
        init.ops = &icst_ops;
        init.flags = CLK_IS_ROOT;
        init.parent_names = NULL;
index dad51b6..be99dd0 100644 (file)
@@ -15,4 +15,5 @@ struct clk_icst_desc {
 
 struct clk *icst_clk_register(struct device *dev,
                              const struct clk_icst_desc *desc,
+                             const char *name,
                              void __iomem *base);
index 369139a..b693a2b 100644 (file)
@@ -66,8 +66,8 @@ void integrator_impd1_clk_init(void __iomem *base, unsigned int id)
        }
        imc = &impd1_clks[id];
 
-       clk = icst_clk_register(NULL, &impd1_icst1_desc, base);
-       imc->vcoclk = clk;
+       clk = icst_clk_register(NULL, &impd1_icst1_desc, "icst1", base);
+       imc->vco1clk = clk;
        imc->clks[0] = clkdev_alloc(clk, NULL, "lm%x:01000", id);
 
        /* UART reference clock */
index 08593b4..bda8967 100644 (file)
@@ -78,7 +78,7 @@ void __init integrator_clk_init(bool is_cp)
        clk_register_clkdev(clk, NULL, "sp804");
 
        /* ICST VCO clock used on the Integrator/CP CLCD */
-       clk = icst_clk_register(NULL, &cp_icst_desc,
+       clk = icst_clk_register(NULL, &cp_icst_desc, "icst",
                                __io_address(INTEGRATOR_HDR_BASE));
        clk_register_clkdev(clk, NULL, "clcd");
 }
index cda07e7..747e7b3 100644 (file)
@@ -84,9 +84,11 @@ void __init realview_clk_init(void __iomem *sysbase, bool is_pb1176)
 
        /* ICST VCO clock */
        if (is_pb1176)
-               clk = icst_clk_register(NULL, &realview_osc0_desc, sysbase);
+               clk = icst_clk_register(NULL, &realview_osc0_desc,
+                                       "osc0", sysbase);
        else
-               clk = icst_clk_register(NULL, &realview_osc4_desc, sysbase);
+               clk = icst_clk_register(NULL, &realview_osc4_desc,
+                                       "osc4", sysbase);
 
        clk_register_clkdev(clk, NULL, "dev:clcd");
        clk_register_clkdev(clk, NULL, "issp:clcd");