On 17 December 2014 at 04:39, Dmitry Torokhov <[email protected]> wrote: > cpufreq-dt driver supports mode when OPP table is provided by platform > code and not device tree. However on certain platforms code that fills > OPP table may run after cpufreq driver tries to initialize, so let's > report -EPROBE_DEFER if we do not find any entires in OPP table for the > CPU. > > Signed-off-by: Dmitry Torokhov <[email protected]> > --- > drivers/cpufreq/cpufreq-dt.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c > index f56147a..fde97d6 100644 > --- a/drivers/cpufreq/cpufreq-dt.c > +++ b/drivers/cpufreq/cpufreq-dt.c > @@ -211,6 +211,17 @@ static int cpufreq_init(struct cpufreq_policy *policy) > /* OPPs might be populated at runtime, don't check for error here */ > of_init_opp_table(cpu_dev); > > + /* > + * But we need OPP table to function so if it is not there let's > + * give platform code chance to provide it for us. > + */ > + ret = dev_pm_opp_get_opp_count(cpu_dev); > + if (ret <= 0) { > + pr_debug("OPP table is not ready, deferring probe\n"); > + ret = -EPROBE_DEFER; > + goto out_free_opp; > + } > + > priv = kzalloc(sizeof(*priv), GFP_KERNEL); > if (!priv) { > ret = -ENOMEM;
Acked-by: Viresh Kumar <[email protected]> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

