diff options
author | Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | 2013-06-17 10:04:19 -0400 |
---|---|---|
committer | Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | 2013-08-21 05:29:53 -0400 |
commit | f837a9b5ab05c52a07108c6f09ca66f2e0aee757 (patch) | |
tree | dc602918332d62753e91b943642bdcc32f6a3d52 /drivers/cpufreq/cpufreq-cpu0.c | |
parent | cdc58d602d2e657602a90c190cbf745886c95977 (diff) |
cpufreq: cpufreq-cpu0: remove device tree parsing for cpu nodes
Now that the cpu device registration initialises the of_node(if available)
appropriately for all the cpus, parsing here is redundant.
This patch removes all DT parsing and uses cpu->of_node instead.
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Diffstat (limited to 'drivers/cpufreq/cpufreq-cpu0.c')
-rw-r--r-- | drivers/cpufreq/cpufreq-cpu0.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c index ad1fde277661..5b05c26efb96 100644 --- a/drivers/cpufreq/cpufreq-cpu0.c +++ b/drivers/cpufreq/cpufreq-cpu0.c | |||
@@ -174,29 +174,17 @@ static struct cpufreq_driver cpu0_cpufreq_driver = { | |||
174 | 174 | ||
175 | static int cpu0_cpufreq_probe(struct platform_device *pdev) | 175 | static int cpu0_cpufreq_probe(struct platform_device *pdev) |
176 | { | 176 | { |
177 | struct device_node *np, *parent; | 177 | struct device_node *np; |
178 | int ret; | 178 | int ret; |
179 | 179 | ||
180 | parent = of_find_node_by_path("/cpus"); | 180 | cpu_dev = &pdev->dev; |
181 | if (!parent) { | ||
182 | pr_err("failed to find OF /cpus\n"); | ||
183 | return -ENOENT; | ||
184 | } | ||
185 | |||
186 | for_each_child_of_node(parent, np) { | ||
187 | if (of_get_property(np, "operating-points", NULL)) | ||
188 | break; | ||
189 | } | ||
190 | 181 | ||
182 | np = of_node_get(cpu_dev->of_node); | ||
191 | if (!np) { | 183 | if (!np) { |
192 | pr_err("failed to find cpu0 node\n"); | 184 | pr_err("failed to find cpu0 node\n"); |
193 | ret = -ENOENT; | 185 | return -ENOENT; |
194 | goto out_put_parent; | ||
195 | } | 186 | } |
196 | 187 | ||
197 | cpu_dev = &pdev->dev; | ||
198 | cpu_dev->of_node = np; | ||
199 | |||
200 | cpu_reg = devm_regulator_get(cpu_dev, "cpu0"); | 188 | cpu_reg = devm_regulator_get(cpu_dev, "cpu0"); |
201 | if (IS_ERR(cpu_reg)) { | 189 | if (IS_ERR(cpu_reg)) { |
202 | /* | 190 | /* |
@@ -269,15 +257,12 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev) | |||
269 | } | 257 | } |
270 | 258 | ||
271 | of_node_put(np); | 259 | of_node_put(np); |
272 | of_node_put(parent); | ||
273 | return 0; | 260 | return 0; |
274 | 261 | ||
275 | out_free_table: | 262 | out_free_table: |
276 | opp_free_cpufreq_table(cpu_dev, &freq_table); | 263 | opp_free_cpufreq_table(cpu_dev, &freq_table); |
277 | out_put_node: | 264 | out_put_node: |
278 | of_node_put(np); | 265 | of_node_put(np); |
279 | out_put_parent: | ||
280 | of_node_put(parent); | ||
281 | return ret; | 266 | return ret; |
282 | } | 267 | } |
283 | 268 | ||