From mboxrd@z Thu Jan 1 00:00:00 1970 From: Viresh Kumar Subject: Re: [PATCH v3] PM / OPP: discard duplicate OPPs Date: Tue, 20 May 2014 19:01:55 +0530 Message-ID: References: <1400230809-11401-1-git-send-email-chander.kashyap@linaro.org> <537A0247.1030503@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: Received: from mail-oa0-f46.google.com ([209.85.219.46]:64139 "EHLO mail-oa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752115AbaETNb4 (ORCPT ); Tue, 20 May 2014 09:31:56 -0400 Received: by mail-oa0-f46.google.com with SMTP id i4so501536oah.5 for ; Tue, 20 May 2014 06:31:55 -0700 (PDT) In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Nishanth Menon Cc: Chander Kashyap , "linux-pm@vger.kernel.org" , Linux Kernel Mailing List , "Rafael J. Wysocki" , Pavel Machek , "Brown, Len" , Greg Kroah-Hartman , Chander Kashyap , Inderpal Singh On 20 May 2014 17:35, Viresh Kumar 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.