|
@@ -195,12 +195,25 @@ static int imx6q_cpufreq_probe(struct platform_device *pdev)
|
|
|
goto put_node;
|
|
|
}
|
|
|
|
|
|
- /* We expect an OPP table supplied by platform */
|
|
|
+ /*
|
|
|
+ * We expect an OPP table supplied by platform.
|
|
|
+ * Just, incase the platform did not supply the OPP
|
|
|
+ * table, it will try to get it.
|
|
|
+ */
|
|
|
num = dev_pm_opp_get_opp_count(cpu_dev);
|
|
|
if (num < 0) {
|
|
|
- ret = num;
|
|
|
- dev_err(cpu_dev, "no OPP table is found: %d\n", ret);
|
|
|
- goto put_node;
|
|
|
+ ret = of_init_opp_table(cpu_dev);
|
|
|
+ if (ret < 0) {
|
|
|
+ dev_err(cpu_dev, "failed to init OPP table: %d\n", ret);
|
|
|
+ goto put_node;
|
|
|
+ }
|
|
|
+
|
|
|
+ num = dev_pm_opp_get_opp_count(cpu_dev);
|
|
|
+ if (num < 0) {
|
|
|
+ ret = num;
|
|
|
+ dev_err(cpu_dev, "no OPP table is found: %d\n", ret);
|
|
|
+ goto put_node;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
ret = dev_pm_opp_init_cpufreq_table(cpu_dev, &freq_table);
|