diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-11-22 05:30:05 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-01-03 16:27:38 -0500 |
commit | ae6e694ef566ed69a2537c80771a9031ec627494 (patch) | |
tree | 86fefdf50b9966e14eec25f6de162935195b0635 | |
parent | 8f6344faafb455e7481d87490d372c8337a0e32b (diff) |
clk: versatile: pass a name to ICST clock provider
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>
-rw-r--r-- | drivers/clk/versatile/clk-icst.c | 3 | ||||
-rw-r--r-- | drivers/clk/versatile/clk-icst.h | 1 | ||||
-rw-r--r-- | drivers/clk/versatile/clk-impd1.c | 4 | ||||
-rw-r--r-- | drivers/clk/versatile/clk-integrator.c | 2 | ||||
-rw-r--r-- | drivers/clk/versatile/clk-realview.c | 6 |
5 files changed, 10 insertions, 6 deletions
diff --git a/drivers/clk/versatile/clk-icst.c b/drivers/clk/versatile/clk-icst.c index f5e4c21b301f..8cbfcf88fae3 100644 --- a/drivers/clk/versatile/clk-icst.c +++ b/drivers/clk/versatile/clk-icst.c | |||
@@ -119,6 +119,7 @@ static const struct clk_ops icst_ops = { | |||
119 | 119 | ||
120 | struct clk *icst_clk_register(struct device *dev, | 120 | struct clk *icst_clk_register(struct device *dev, |
121 | const struct clk_icst_desc *desc, | 121 | const struct clk_icst_desc *desc, |
122 | const char *name, | ||
122 | void __iomem *base) | 123 | void __iomem *base) |
123 | { | 124 | { |
124 | struct clk *clk; | 125 | struct clk *clk; |
@@ -130,7 +131,7 @@ struct clk *icst_clk_register(struct device *dev, | |||
130 | pr_err("could not allocate ICST clock!\n"); | 131 | pr_err("could not allocate ICST clock!\n"); |
131 | return ERR_PTR(-ENOMEM); | 132 | return ERR_PTR(-ENOMEM); |
132 | } | 133 | } |
133 | init.name = "icst"; | 134 | init.name = name; |
134 | init.ops = &icst_ops; | 135 | init.ops = &icst_ops; |
135 | init.flags = CLK_IS_ROOT; | 136 | init.flags = CLK_IS_ROOT; |
136 | init.parent_names = NULL; | 137 | init.parent_names = NULL; |
diff --git a/drivers/clk/versatile/clk-icst.h b/drivers/clk/versatile/clk-icst.h index dad51b6ffd00..be99dd0da785 100644 --- a/drivers/clk/versatile/clk-icst.h +++ b/drivers/clk/versatile/clk-icst.h | |||
@@ -15,4 +15,5 @@ struct clk_icst_desc { | |||
15 | 15 | ||
16 | struct clk *icst_clk_register(struct device *dev, | 16 | struct clk *icst_clk_register(struct device *dev, |
17 | const struct clk_icst_desc *desc, | 17 | const struct clk_icst_desc *desc, |
18 | const char *name, | ||
18 | void __iomem *base); | 19 | void __iomem *base); |
diff --git a/drivers/clk/versatile/clk-impd1.c b/drivers/clk/versatile/clk-impd1.c index 369139af2a3b..b693a2bbf25a 100644 --- a/drivers/clk/versatile/clk-impd1.c +++ b/drivers/clk/versatile/clk-impd1.c | |||
@@ -66,8 +66,8 @@ void integrator_impd1_clk_init(void __iomem *base, unsigned int id) | |||
66 | } | 66 | } |
67 | imc = &impd1_clks[id]; | 67 | imc = &impd1_clks[id]; |
68 | 68 | ||
69 | clk = icst_clk_register(NULL, &impd1_icst1_desc, base); | 69 | clk = icst_clk_register(NULL, &impd1_icst1_desc, "icst1", base); |
70 | imc->vcoclk = clk; | 70 | imc->vco1clk = clk; |
71 | imc->clks[0] = clkdev_alloc(clk, NULL, "lm%x:01000", id); | 71 | imc->clks[0] = clkdev_alloc(clk, NULL, "lm%x:01000", id); |
72 | 72 | ||
73 | /* UART reference clock */ | 73 | /* UART reference clock */ |
diff --git a/drivers/clk/versatile/clk-integrator.c b/drivers/clk/versatile/clk-integrator.c index 08593b4ee2c9..bda8967e09c2 100644 --- a/drivers/clk/versatile/clk-integrator.c +++ b/drivers/clk/versatile/clk-integrator.c | |||
@@ -78,7 +78,7 @@ void __init integrator_clk_init(bool is_cp) | |||
78 | clk_register_clkdev(clk, NULL, "sp804"); | 78 | clk_register_clkdev(clk, NULL, "sp804"); |
79 | 79 | ||
80 | /* ICST VCO clock used on the Integrator/CP CLCD */ | 80 | /* ICST VCO clock used on the Integrator/CP CLCD */ |
81 | clk = icst_clk_register(NULL, &cp_icst_desc, | 81 | clk = icst_clk_register(NULL, &cp_icst_desc, "icst", |
82 | __io_address(INTEGRATOR_HDR_BASE)); | 82 | __io_address(INTEGRATOR_HDR_BASE)); |
83 | clk_register_clkdev(clk, NULL, "clcd"); | 83 | clk_register_clkdev(clk, NULL, "clcd"); |
84 | } | 84 | } |
diff --git a/drivers/clk/versatile/clk-realview.c b/drivers/clk/versatile/clk-realview.c index cda07e70a408..747e7b31117c 100644 --- a/drivers/clk/versatile/clk-realview.c +++ b/drivers/clk/versatile/clk-realview.c | |||
@@ -84,9 +84,11 @@ void __init realview_clk_init(void __iomem *sysbase, bool is_pb1176) | |||
84 | 84 | ||
85 | /* ICST VCO clock */ | 85 | /* ICST VCO clock */ |
86 | if (is_pb1176) | 86 | if (is_pb1176) |
87 | clk = icst_clk_register(NULL, &realview_osc0_desc, sysbase); | 87 | clk = icst_clk_register(NULL, &realview_osc0_desc, |
88 | "osc0", sysbase); | ||
88 | else | 89 | else |
89 | clk = icst_clk_register(NULL, &realview_osc4_desc, sysbase); | 90 | clk = icst_clk_register(NULL, &realview_osc4_desc, |
91 | "osc4", sysbase); | ||
90 | 92 | ||
91 | clk_register_clkdev(clk, NULL, "dev:clcd"); | 93 | clk_register_clkdev(clk, NULL, "dev:clcd"); |
92 | clk_register_clkdev(clk, NULL, "issp:clcd"); | 94 | clk_register_clkdev(clk, NULL, "issp:clcd"); |