diff options
author | Nishanth Menon <nm@ti.com> | 2011-05-25 19:38:46 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2011-11-08 14:42:16 -0500 |
commit | 08ca3e3b8ddf0e75f734d46b31518b97256d2c17 (patch) | |
tree | 0ac1c4897e31580bc11c90d059ce516c30f644e4 /drivers/cpufreq | |
parent | 022ac03b45d6899219539894cff3c7ce5bd990f9 (diff) |
cpufreq: OMAP: move clk name decision to init
Clk name does'nt need to dynamically detected during clk init.
move them off to driver initialization, if we dont have a clk name,
there is no point in registering the driver anyways. The actual clk
get and put is left at cpu_init and exit functions.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/omap-cpufreq.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/drivers/cpufreq/omap-cpufreq.c b/drivers/cpufreq/omap-cpufreq.c index 0a5d95c4f8eb..3651825e7fb9 100644 --- a/drivers/cpufreq/omap-cpufreq.c +++ b/drivers/cpufreq/omap-cpufreq.c | |||
@@ -49,6 +49,7 @@ static struct lpj_info global_lpj_ref; | |||
49 | 49 | ||
50 | static struct cpufreq_frequency_table *freq_table; | 50 | static struct cpufreq_frequency_table *freq_table; |
51 | static struct clk *mpu_clk; | 51 | static struct clk *mpu_clk; |
52 | static char *mpu_clk_name; | ||
52 | 53 | ||
53 | static int omap_verify_speed(struct cpufreq_policy *policy) | 54 | static int omap_verify_speed(struct cpufreq_policy *policy) |
54 | { | 55 | { |
@@ -153,13 +154,7 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy) | |||
153 | int result = 0; | 154 | int result = 0; |
154 | struct device *mpu_dev; | 155 | struct device *mpu_dev; |
155 | 156 | ||
156 | if (cpu_is_omap24xx()) | 157 | mpu_clk = clk_get(NULL, mpu_clk_name); |
157 | mpu_clk = clk_get(NULL, "virt_prcm_set"); | ||
158 | else if (cpu_is_omap34xx()) | ||
159 | mpu_clk = clk_get(NULL, "dpll1_ck"); | ||
160 | else if (cpu_is_omap44xx()) | ||
161 | mpu_clk = clk_get(NULL, "dpll_mpu_ck"); | ||
162 | |||
163 | if (IS_ERR(mpu_clk)) | 158 | if (IS_ERR(mpu_clk)) |
164 | return PTR_ERR(mpu_clk); | 159 | return PTR_ERR(mpu_clk); |
165 | 160 | ||
@@ -233,6 +228,17 @@ static struct cpufreq_driver omap_driver = { | |||
233 | 228 | ||
234 | static int __init omap_cpufreq_init(void) | 229 | static int __init omap_cpufreq_init(void) |
235 | { | 230 | { |
231 | if (cpu_is_omap24xx()) | ||
232 | mpu_clk_name = "virt_prcm_set"; | ||
233 | else if (cpu_is_omap34xx()) | ||
234 | mpu_clk_name = "dpll1_ck"; | ||
235 | else if (cpu_is_omap44xx()) | ||
236 | mpu_clk_name = "dpll_mpu_ck"; | ||
237 | |||
238 | if (!mpu_clk_name) { | ||
239 | pr_err("%s: unsupported Silicon?\n", __func__); | ||
240 | return -EINVAL; | ||
241 | } | ||
236 | return cpufreq_register_driver(&omap_driver); | 242 | return cpufreq_register_driver(&omap_driver); |
237 | } | 243 | } |
238 | 244 | ||