Messages in this thread | | | Date | Wed, 23 Feb 2022 08:59:48 +0000 | Subject | Re: [[PATCH v2 2/2] OPP: Add 'opp-microwatt' parsing for advanced EM registration | From | Lukasz Luba <> |
| |
On 2/23/22 05:53, Viresh Kumar wrote: > On 22-02-22, 14:07, Lukasz Luba wrote: >> +static int _of_find_opp_microwatt_property(struct device *dev) >> +{ >> + unsigned long freq = 0; >> + struct dev_pm_opp *opp; >> + struct device_node *np; >> + struct property *prop; >> + >> + /* We only support "operating-points-v2" */ >> + np = dev_pm_opp_of_get_opp_desc_node(dev); >> + if (!np) >> + return -EINVAL; >> + >> + of_node_put(np); >> + >> + /* Check if an OPP has needed property */ >> + opp = dev_pm_opp_find_freq_ceil(dev, &freq); >> + if (IS_ERR(opp)) >> + return -EINVAL; >> + >> + prop = of_find_property(opp->np, "opp-microwatt", NULL); >> + dev_pm_opp_put(opp); >> + if (!prop) >> + return -EINVAL; >> + >> + return 0; >> +} > > Please follow everything just like opp-microvolt is defined. Create a new field > in the struct dev_pm_opp, initialize it only once when the OPP is created, that > field should be used here instead of parsing the DT here again. There also needs > to be a debug file in debugfs for this new field. > > Search for "supply" and "microvolt" in the OPP core, you will see all the places > that need it. >
OK, so you want to have this available for the whole system. I can do that. I would go for one value of power and try to fit into the opp_parse_supplies() code. As far as I can see in the dev_pm_opp_get_voltage() the simple solution: supplier[0] and u_volt is used. I would go for similar solution for u_watt. There is even a single u_amp and no _max, _min variants, so should be good..
| |