On Thu, Dec 19, 2013 at 10:56:28PM -0800, John Tobias wrote: > Add a routine check to see if the platform supplied the OPP table. > Incase there's no OPP table exist, it will try to initialise it. > > It's been tested on iMX6SL board where the platform doesn't have > an OPP table. > > Signed-off-by: John Tobias <john.tobias.ph@xxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> > --- > drivers/cpufreq/imx6q-cpufreq.c | 21 +++++++++++++++++---- > 1 file changed, 17 insertions(+), 4 deletions(-) > > diff --git a/drivers/cpufreq/imx6q-cpufreq.c b/drivers/cpufreq/imx6q-cpufreq.c > index 4b3f18e..e125aed 100644 > --- a/drivers/cpufreq/imx6q-cpufreq.c > +++ b/drivers/cpufreq/imx6q-cpufreq.c > @@ -187,12 +187,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); > -- > 1.8.3.2 > -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html