Hi Viresh, On Wed, Jul 18, 2018 at 7:50 AM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > On 17-07-18, 09:46, Geert Uytterhoeven wrote: > > CC device-tree folks > > > > Replying to an old email, because that's the most accurate reference I > > could find. > > > > On Tue, Feb 9, 2016 at 6:06 AM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > > > OPP core can handle the regulators by itself, and but it needs to know > > > the name of the regulator to fetch. Add support for that. > > > > > > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > > > --- > > > drivers/cpufreq/cpufreq-dt.c | 46 ++++++++++++++++++++++++++++++++++++++++++++ > > > 1 file changed, 46 insertions(+) > > > > > > diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c > > > index 4c9f8a828f6f..2af75f8088bb 100644 > > > --- a/drivers/cpufreq/cpufreq-dt.c > > > +++ b/drivers/cpufreq/cpufreq-dt.c > > > > > @@ -119,6 +120,30 @@ static int set_target(struct cpufreq_policy *policy, unsigned int index) > > > return ret; > > > } > > > > > > +/* > > > + * An earlier version of opp-v1 bindings used to name the regulator > > > + * "cpu0-supply", we still need to handle that for backwards compatibility. > > > + */ > > > +static const char *find_supply_name(struct device *dev, struct device_node *np) > > > +{ > > > + struct property *pp; > > > + int cpu = dev->id; > > > + > > > + /* Try "cpu0" for older DTs */ > > > + if (!cpu) { > > > + pp = of_find_property(np, "cpu0-supply", NULL); > > > + if (pp) > > > + return "cpu0"; > > > + } > > > + > > > + pp = of_find_property(np, "cpu-supply", NULL); > > > + if (pp) > > > + return "cpu"; > > > > Despite the existence of lots of users of these properties, I couldn't find > > both the "earlier version" and the "current version" of the opp-v1 bindings > > documenting the "cpu0-supply" and "cpu-supply" properties? > > They are part of the device nodes and don't fall under the > jurisdiction of OPP tables and so aren't defined there. We rely on the > "<name>-supply" property from the regulator bindings for the devices. > > > Even for opp-v2, they are not documented in > > Documentation/devicetree/bindings/opp/opp.txt, but cpu-supply is used in > > the examples? > > Same reasoning here as well. Right, they are part of the cpu nodes, not of the operating-points properties (which are part of the cpu nodes) or the opp_table nodes (for v2). > > Can you please document these properties? > > I don't think we need to, do we ? IMHO they should be documented somewhere, with a link to Documentation/devicetree/bindings/regulator/regulator.txt. How else can a DTS writer know he/she needs them? Without cpu-supply (and clock!) properties, cpufreq can't work. Candidates: - Documentation/devicetree/bindings/cpufreq/cpufreq-dt.txt This has operating points without clocks nor cpu-supply, but with clock-latency (for which clock? ;-) - Documentation/devicetree/bindings/cpufreq/arm_big_little_dt.txt Again, operating points without clocks nor cpu-supply, but with clock-latency. Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html