From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756797AbdJKLWW (ORCPT ); Wed, 11 Oct 2017 07:22:22 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:11872 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756502AbdJKLWV (ORCPT ); Wed, 11 Oct 2017 07:22:21 -0400 X-AuditID: b6c32a35-8adff70000001157-72-59ddfeeb490d Mime-Version: 1.0 Subject: FW: RE: [PATCH v3 1/8] PM / devfreq: Set min/max_freq when adding the devfreq device Reply-To: myungjoo.ham@samsung.com From: MyungJoo Ham To: Chanwoo Choi , Kyungmin Park CC: "rafael.j.wysocki@intel.com" , "chanwoo@kernel.org" , Inki Dae , "linux-kernel@vger.kernel.org" , "linux-pm@vger.kernel.org" X-Priority: 3 X-Content-Kind-Code: NORMAL In-Reply-To: <20171011110952epcms1p2f1c04c3cc0b078c07b55e7031cd175ac@epcms1p2> X-Drm-Type: N,general X-EPLocale: ko_KR.EUC-KR X-EPWebmail-Msg-Type: personal X-Msg-Generator: Mail X-Msg-Type: PERSONAL X-Reply-Demand: N Illegal-Object: Syntax error in X-Sender: address found on vger.kernel.org: X-Sender: =?utf-8?B?U2Ftc3VuZyBFbGVjdHJvbmljcxtBcnRpZmljaWFsIEludA==?= ^-Extraneous program text X-Sender-IP: 10.113.73.204 X-Local-Sender: =?UTF-8?B?7ZWo66qF7KO8G0FydGlmaWNpYWwgSW50ZWxsaWdlbmNlIDNMYWIoUy9X?= =?UTF-8?B?7IS87YSwKRvsgrzshLHsoITsnpAbUHJpbmNpcGFsIEVuZ2lu?= =?UTF-8?B?ZWVy?= X-Global-Sender: =?UTF-8?B?TXl1bmdKb28gSGFtG0FydGlmaWNpYWwgSW50ZWxsaWdlbmNlIDNMYWIu?= =?UTF-8?B?G1NhbXN1bmcgRWxlY3Ryb25pY3MbUHJpbmNpcGFsIEVuZ2lu?= =?UTF-8?B?ZWVy?= X-Sender-Code: =?UTF-8?B?QzEwGxtDMTBWODI5MQ==?= Message-ID: <20171011112218epcms1p44a92995d11f8bed42199eab623b4a2d1@epcms1p4> Date: Wed, 11 Oct 2017 11:22:18 +0000 X-CMS-MailID: 20171011112218epcms1p44a92995d11f8bed42199eab623b4a2d1 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" X-MTR: 20171011112218epcms1p44a92995d11f8bed42199eab623b4a2d1 CMS-TYPE: 101P X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupkk+LIzCtJLcpLzFFi42LZdlhTX/f1v7uRButvsFtMvHGFxeL6l+es FpPuT2CxONv0ht3i8q45bBafe48wWjxe8Zbdgd1j8Z6XTB6bVnWyefRtWcXo8XmTXABLVKpN RmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtAFSgpliTml QKGAxOJiJX07m6L80pJUhYz84hJbpWhDQyM9QwNzPSMjIz0T41grI1OgkoTUjFeNrcwFN/gr tuxZyt7AOI+ni5GDQ0LARGL5t4guRi4OIYEdjBLXd+xhAonzCghK/N0h3MXIySEsEC9xYvFu dhBbSEBJouHmPmaIuL5Ex4NtjCA2m4CuxNYNd1lAbBGBUIndC/rAapgFWpkk9k9IArElBHgl ZrQ/ZYGwpSW2L98K1ssp4CdxYNFJNoi4qMTN1W/ZIWwJiTuvLzBB2HIS076uYYapeX9sPiOE LSLReu8sVFxQ4sHP3Ywgv0gItDJK3NnyDGqQlMStxdeYIBLLGCUWX37KDuEsZ5RoX7KRDRIS +hI7tzuDNPAK+EpcPdcP1swioCqx9tFRqEEuEt3/t7FDfCYvsf3tHGaQVmYBTYn1u/QhSmwl bk7YwghRwifx7msPK8zzO+Y9gXpGTeLQ7iXsExiVZyGCehaSobMQhi5gZF7FKJZaUJybnlps WGCoV5yYW1yal66XnJ+7iRGcDLVMdzBOOedziFGAg1GJh1fg+p1IIdbEsuLK3EOMEhzMSiK8 bH/vRgrxpiRWVqUW5ccXleakFh9iNAX6bSKzlGhyPjBR55XEG5pYGpiYGQFTnKWhoZI4r+j6 axFCAumJJanZqakFqUUwfUwcnFINjIdLZgnUnRWyFjtX+lFVXa3+w6VTmyfcCIpgNP8zxfbv w6+NR56sPN/tp5ImH3sg1kvRpy7jx1NLmyzLrkQHwanVJw/9Ntm35ojNJo/jm04sb9T+Wrxx VcFu3q6odcEiUa06FlfVauI/rZi762Ho99uOW/jf2DWXXQloT3t9dsXjgyIPq7k1niixFGck GmoxFxUnAgAFj/RznAMAAA== DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20171011030946epcas1p156d133af4c065453eb8afde9e0e6869d X-RootMTR: 20171011030946epcas1p156d133af4c065453eb8afde9e0e6869d References: <20171011110952epcms1p2f1c04c3cc0b078c07b55e7031cd175ac@epcms1p2> <1507691364-3899-2-git-send-email-cw00.choi@samsung.com> <1507691364-3899-1-git-send-email-cw00.choi@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > Prior to that, the min/max_freq of the devfreq device are always zero > > before the user changes the min/max_freq through sysfs entries. > > It might make the confusion for the min/max_freq. > > > > This patch initializes the available min/max_freq by using the OPP > > during adding the devfreq device. > > > > Signed-off-by: Chanwoo Choi > > --- > > drivers/devfreq/devfreq.c | 43 +++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 43 insertions(+) > > > > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > > index a1c4ee818614..ae8717a6eee1 100644 > > --- a/drivers/devfreq/devfreq.c > > +++ b/drivers/devfreq/devfreq.c > > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > > index a1c4ee818614..ae8717a6eee1 100644 > > --- a/drivers/devfreq/devfreq.c > > +++ b/drivers/devfreq/devfreq.c > > @@ -69,6 +69,34 @@ static struct devfreq *find_device_devfreq(struct device *dev) > > return ERR_PTR(-ENODEV); > > } > > > > +static unsigned long find_available_min_freq(struct devfreq *devfreq) > > +{ > > + struct dev_pm_opp *opp; > > + unsigned long min_freq = 0; > > + > > + opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &min_freq); > > When min_freq is 0, dev_pm_opp_find_freq_ceil will return ERR_PTR(-EINVAL); > > --- from drivers/base/power/opp/core.c ------ > struct dev_pm_opp *dev_pm_opp_find_freq_ceil(struct device *dev, > unsigned long *freq) > { > struct opp_table *opp_table; > struct dev_pm_opp *opp; > > if (!dev || !freq) { > dev_err(dev, "%s: Invalid argument freq=%p\n", __func__, freq); > return ERR_PTR(-EINVAL); > } > --------------------------------------------- Sorry, please never mind. My Bad. Your code had no such issues. So, I'm adding: Acked-by: MyungJoo Ham > > Cheers, > MyungJoo >