lkml.org 
[lkml]   [2022]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 10/31] devfreq: exynos: Migrate to dev_pm_opp_set_config()
From
Date
On 5/31/22 1:15 PM, Viresh Kumar wrote:
> On 31-05-22, 13:12, Chanwoo Choi wrote:
>> I try to find the cause of this warning.
>> I think that dev_pm_opp_clear_config needs to check
>> whether 'opp_table' is NULL or not as following:
>>
>>
>> diff --git a/drivers/opp/core.c b/drivers/opp/core.c
>> index fba6e2b20b8f..cbf8f10b9ff0 100644
>> --- a/drivers/opp/core.c
>> +++ b/drivers/opp/core.c
>> @@ -2598,6 +2598,9 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_set_config);
>> */
>> void dev_pm_opp_clear_config(struct opp_table *opp_table)
>> {
>> + if (unlikely(!opp_table))
>> + return;
>> +
>> if (opp_table->genpd_virt_devs)
>> dev_pm_opp_detach_genpd(opp_table);
>
> Does this fixes it for you ?
>
> It isn't allowed to call this routine with opp_table as NULL, I should
> rather have a WARN() for the same instead.
>
> Can you check why exynos is passing NULL here as I don't see an
> obvious reason currently.
>

exynos-bus.c contains the two type of devfreq device as following:
1. devfreq device controls the regulator
2. devfreq device doesn't control the regulator

Above two devfreq devices share the same error path
because two devices are similar.

As you said, if you use WARN(),
I can change it on exynos-bus.c as following:

if (bus->opp_table)
dev_pm_opp_clear_config(bus->opp_table)


--
Best Regards,
Chanwoo Choi
Samsung Electronics

\
 
 \ /
  Last update: 2022-05-31 07:04    [W:0.064 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site