Re: [PATCH v3] PM / OPP: discard duplicate OPPs

From: Nishanth Menon
Date: Tue May 20 2014 - 09:36:33 EST


On 05/20/2014 08:31 AM, Viresh Kumar wrote:
> On 20 May 2014 17:35, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
>> Though after more thought into this I feel this must also be done:
>>
>> diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
>> index bdf09f5..3f540d8 100644
>> --- a/drivers/base/power/opp.c
>> +++ b/drivers/base/power/opp.c
>> @@ -453,9 +453,13 @@ int dev_pm_opp_add(struct device *dev, unsigned
>> long freq, unsigned long u_volt)
>> }
>>
>> if (new_opp->rate == opp->rate) {
>> + int ret = 0;
>> +
>> + if (new_opp->u_volt == opp->u_volt)
>> + ret = -EEXIST;
>> mutex_unlock(&dev_opp_list_lock);
>> kfree(new_opp);
>> - return 0;
>> + return ret;
>
> Ahh, sorry gentlemen. I have screwed up yet again.
>
> I meant this instead:
>
>> + if (new_opp->u_volt != opp->u_volt)
>> + ret = -EEXIST;
>
> Otherwise we are trying to add same OPP again and we can
> return zero.
>
if it was added and disabled? I suggest:
new_opp->u_volt != opp->u_volt || !opp->available

I still dont like the idea that we are allowing folks to do:
{
{1GHz 1.1V}
{1GHz 1.1V}
{1.2GHz 1.2V}
}

if you already had an OPP added and are trying to add it again, you
might want some debug ability. but anyways, with the mentioned check
above, my opposition is lower.

--
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/