diff options
author | Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | 2013-09-10 13:59:47 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-09-18 21:53:43 -0400 |
commit | b494b48dacb4dd848d76bc8871e55716486f0253 (patch) | |
tree | 44d122a8bcf5d596578d9e97fdef92525cb40ede /drivers/cpufreq | |
parent | e1825b25309264bf2d1275a8da9c997bca39b0d8 (diff) |
cpufreq: imx6q-cpufreq: assign cpu_dev correctly to cpu0 device
Commit cdc58d602d2e657602a90c190cbf745886c95977 "cpufreq: imx6q-cpufreq:
remove device tree parsing for cpu nodes" assumed the pdev->dev is set to
cpu0 device in the platform code. But it actually points to the virtual
cpufreq-cpu0 platform device which is not present in the device tree.
Most of the information needed by cpufreq is stored in cpu0 DT node.
So cpu_dev must point to cpu0 device.
This patch fixes the wrong assignment to cpu_dev.
Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/imx6q-cpufreq.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c index 3e396543aea4..c3fd2a101ca0 100644 --- a/drivers/cpufreq/imx6q-cpufreq.c +++ b/drivers/cpufreq/imx6q-cpufreq.c | |||
@@ -7,6 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/clk.h> | 9 | #include <linux/clk.h> |
10 | #include <linux/cpu.h> | ||
10 | #include <linux/cpufreq.h> | 11 | #include <linux/cpufreq.h> |
11 | #include <linux/delay.h> | 12 | #include <linux/delay.h> |
12 | #include <linux/err.h> | 13 | #include <linux/err.h> |
@@ -202,7 +203,11 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev) | |||
202 | unsigned long min_volt, max_volt; | 203 | unsigned long min_volt, max_volt; |
203 | int num, ret; | 204 | int num, ret; |
204 | 205 | ||
205 | cpu_dev = &pdev->dev; | 206 | cpu_dev = get_cpu_device(0); |
207 | if (!cpu_dev) { | ||
208 | pr_err("failed to get cpu0 device\n"); | ||
209 | return -ENODEV; | ||
210 | } | ||
206 | 211 | ||
207 | np = of_node_get(cpu_dev->of_node); | 212 | np = of_node_get(cpu_dev->of_node); |
208 | if (!np) { | 213 | if (!np) { |