diff options
-rw-r--r-- | drivers/cpufreq/imx6q-cpufreq.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c index c29198fbc9b7..564a26523ebc 100644 --- a/drivers/cpufreq/imx6q-cpufreq.c +++ b/drivers/cpufreq/imx6q-cpufreq.c | |||
@@ -195,12 +195,25 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev) | |||
195 | goto put_node; | 195 | goto put_node; |
196 | } | 196 | } |
197 | 197 | ||
198 | /* We expect an OPP table supplied by platform */ | 198 | /* |
199 | * We expect an OPP table supplied by platform. | ||
200 | * Just, incase the platform did not supply the OPP | ||
201 | * table, it will try to get it. | ||
202 | */ | ||
199 | num = dev_pm_opp_get_opp_count(cpu_dev); | 203 | num = dev_pm_opp_get_opp_count(cpu_dev); |
200 | if (num < 0) { | 204 | if (num < 0) { |
201 | ret = num; | 205 | ret = of_init_opp_table(cpu_dev); |
202 | dev_err(cpu_dev, "no OPP table is found: %d\n", ret); | 206 | if (ret < 0) { |
203 | goto put_node; | 207 | dev_err(cpu_dev, "failed to init OPP table: %d\n", ret); |
208 | goto put_node; | ||
209 | } | ||
210 | |||
211 | num = dev_pm_opp_get_opp_count(cpu_dev); | ||
212 | if (num < 0) { | ||
213 | ret = num; | ||
214 | dev_err(cpu_dev, "no OPP table is found: %d\n", ret); | ||
215 | goto put_node; | ||
216 | } | ||
204 | } | 217 | } |
205 | 218 | ||
206 | ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table); | 219 | ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table); |