lkml.org 
[lkml]   [2016]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 07/10] cpufreq: dt: Identify cpu-sharing for platforms without operating-points-v2
On 22-04-16, 15:27, Stephen Boyd wrote:
> On 04/21, Viresh Kumar wrote:
> > @@ -167,14 +167,16 @@ static int cpufreq_init(struct cpufreq_policy *policy)
> > /* Get OPP-sharing information from "operating-points-v2" bindings */
> > ret = dev_pm_opp_of_get_sharing_cpus(cpu_dev, policy->cpus);
> > if (ret) {
> > + if (ret != -ENOENT)
> > + goto out_put_clk;
> > +
> > /*
> > * operating-points-v2 not supported, fallback to old method of
> > - * finding shared-OPPs for backward compatibility.
> > + * finding shared-OPPs for backward compatibility if the
> > + * platform hasn't set sharing CPUs.
> > */
> > - if (ret == -ENOENT)
> > - opp_v1 = true;
> > - else
> > - goto out_put_clk;
> > + if (dev_pm_opp_get_sharing_cpus(cpu_dev, policy->cpus))
> > + fallback = true;
>
> I'm sort of lost, we make the same call twice here. Why would the
> return value change between the first time and the second?

Two different APIs, which look similar :)

The first one tries to find the sharing-cpus relation from DT, the
other one is for v1 bindings and finds it due to platform code
dev_pm_opp_set_sharing_cpus() call.

--
viresh

\
 
 \ /
  Last update: 2016-04-25 12:01    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog