On 05/20/2014 08:31 AM, Viresh Kumar wrote: > On 20 May 2014 17:35, Viresh Kumar <viresh.ku...@linaro.org> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/