Re: [RFC PATCH v2 01/17] OPP: Allow to request stub voltage regulators

From: Dmitry Osipenko
Date: Mon Oct 22 2018 - 08:12:15 EST


On 10/22/18 2:32 PM, Viresh Kumar wrote:
> On 22-10-18, 14:29, Dmitry Osipenko wrote:
>> On 10/22/18 8:36 AM, Viresh Kumar wrote:
>>> On 21-10-18, 23:54, Dmitry Osipenko wrote:
>>>> Voltage regulators may be not available on some variations of HW, allow to
>>>> request stub voltage regulators by OPP core in a such case to reduce code
>>>> churning within drivers.
>>>>
>>>> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
>>>> ---
>>>> drivers/cpufreq/cpufreq-dt.c | 2 +-
>>>> drivers/cpufreq/ti-cpufreq.c | 3 ++-
>>>> drivers/opp/core.c | 9 +++++++--
>>>> include/linux/pm_opp.h | 4 ++--
>>>> 4 files changed, 12 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/drivers/cpufreq/cpufreq-dt.c b/drivers/cpufreq/cpufreq-dt.c
>>>> index e58bfcb1169e..6ebca472ec76 100644
>>>> --- a/drivers/cpufreq/cpufreq-dt.c
>>>> +++ b/drivers/cpufreq/cpufreq-dt.c
>>>> @@ -196,7 +196,7 @@ static int cpufreq_init(struct cpufreq_policy *policy)
>>>> */
>>>> name = find_supply_name(cpu_dev);
>>>> if (name) {
>>>> - opp_table = dev_pm_opp_set_regulators(cpu_dev, &name, 1);
>>>> + opp_table = dev_pm_opp_set_regulators(cpu_dev, &name, 1, false);
>>>> if (IS_ERR(opp_table)) {
>>>> ret = PTR_ERR(opp_table);
>>>> dev_err(cpu_dev, "Failed to set regulator for cpu%d: %d\n",
>>>
>>> Have you actually tested this stuff ? The cpufreq-dt driver will
>>> probably fail to probe if the CPU node has a "-supply" property, but
>>> no regulator matching that.
>>>
>>
>> Please notice that this patch doesn't change the original behaviour
>> and I suppose that failing in a case of missing regulator is the
>> expected behaviour for cpufreq-dt. Hence can't see any problem here.
>
> So why have this patch then ?

Because there is one Tegra20 board (tegra20-trimslice) that doesn't declare necessary regulators, but we want to have CPU frequency scaling. I couldn't find board schematics and so don't know if CPU / CORE voltages are fixed on Trim-Slice or it is just preferable not to have DVFS for that board, it is an outlet-powered device [0]. Hence tegra20-cpufreq driver will request a dummy regulators when appropriate.

[0] http://www.compulab.co.il/utilite-computer/web/trim-slice