From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?euc-kr?B?x9S47cHW?= Subject: Re: Re: [PATCH] PM / devfreq: Use freq_table for available_frequencies Date: Tue, 15 Apr 2014 01:36:00 +0000 (GMT) Message-ID: <8568895.444151397525760132.JavaMail.weblogic@epml02> Reply-To: myungjoo.ham@samsung.com Mime-Version: 1.0 Content-Type: text/plain; charset=euc-kr Content-Transfer-Encoding: base64 Return-path: MIME-version: 1.0 Sender: linux-pm-owner@vger.kernel.org To: Saravana Kannan Cc: =?euc-kr?Q?=B9=DA=B0=E6=B9=CE?= , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-msm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" List-Id: linux-arm-msm@vger.kernel.org PiBNeXVuZ0pvby9LeXVuZ21pbiwNCj4gDQo+IEJ1bXAuIENhbiB3ZSBhY2NlcHQgdGhpcyBwYXRj aCBwbGVhc2U/DQo+IA0KPiAtU2FyYXZhbmENCg0KTmFjay4NCg0KUGxlYXNlIG5vdGUgdGhhdCBm cmVxX3RhYmxlIGlzIGFsc28gYW4gb3B0aW9uYWwgdmFsdWUsIHdoaWNoIG1heQ0KYmUgbnVsbC4N Cg0KQmVzaWRlcywgcGxlYXNlIGJlIGF3YXJlIHRoYXQgeW91ciBjb2RlIGlzIHVuZGVyIHJjdV9y ZWFkX2xvY2soKS4NCg0KDQpDaGVlcnMsDQpNeXVuZ0pvby4NCg0KcHMuIEknbGwgc2VuZCBhIHJl bGF0ZWQgcGF0Y2ggKGF2b2lkIGFjY2Vzc2luZyBudWxsIGJ1dCBub3QtYW4tZXJyb3INCnBvaW50 ZXIgYXQgb3RoZXIgc3lzZnMgbm9kZXMpLiBUaGFuayB5b3UgZm9yIGxldHRpbmcgbWUgY2F0Y2gg c3VjaCBidWdzIGFueXdheS4NCg0KPiANCj4gDQo+IE9uIDA0LzEwLzIwMTQgMDc6NTQgUE0sIFNh cmF2YW5hIEthbm5hbiB3cm90ZToNCj4gPiBTb21lIGRldmljZXMgdXNlIGZyZXFfdGFibGUgaW5z dGVhZCBvZiBPUFAuIEZvciB0aG9zZSBkZXZpY2VzLCB0aGUNCj4gPiBhdmFpbGFibGVfZnJlcXVl bmNpZXMgZmlsZSBzaG93cyB1cCBlbXB0eS4gRml4IHRoYXQgYnkgdXNpbmcgZnJlcV90YWJsZSB0 bw0KPiA+IGdlbmVyYXRlIHRoZSBhdmFpbGFibGVfZnJlcXVlbmNpZXMgZGF0YSB3aGVuIE9QUCBp cyBub3QgcHJlc2VudC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFNhcmF2YW5hIEthbm5hbiA8 c2thbm5hbkBjb2RlYXVyb3JhLm9yZz4NCj4gPiAtLS0NCj4gPiAgIGRyaXZlcnMvZGV2ZnJlcS9k ZXZmcmVxLmMgfCAxNSArKysrKysrKysrKy0tLS0NCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCAxMSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZGV2ZnJlcS9kZXZmcmVxLmMgYi9kcml2ZXJzL2RldmZyZXEvZGV2ZnJlcS5jDQo+ID4gaW5k ZXggMjA0MmVjMy4uYTcxNWQxNSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2RldmZyZXEvZGV2 ZnJlcS5jDQo+ID4gKysrIGIvZHJpdmVycy9kZXZmcmVxL2RldmZyZXEuYw0KPiA+IEBAIC05MTIs MTkgKzkxMiwyNiBAQCBzdGF0aWMgc3NpemVfdCBhdmFpbGFibGVfZnJlcXVlbmNpZXNfc2hvdyhz dHJ1Y3QgZGV2aWNlICpkLA0KPiA+ICAgCXN0cnVjdCBkZXZmcmVxICpkZiA9IHRvX2RldmZyZXEo ZCk7DQo+ID4gICAJc3RydWN0IGRldmljZSAqZGV2ID0gZGYtPmRldi5wYXJlbnQ7DQo+ID4gICAJ c3RydWN0IGRldl9wbV9vcHAgKm9wcDsNCj4gPiArCXVuc2lnbmVkIGludCBpID0gMCwgbWF4X3N0 YXRlID0gZGYtPnByb2ZpbGUtPm1heF9zdGF0ZTsNCj4gPiArCWJvb2wgdXNlX29wcDsNCj4gPiAg IAlzc2l6ZV90IGNvdW50ID0gMDsNCj4gPiAgIAl1bnNpZ25lZCBsb25nIGZyZXEgPSAwOw0KPiA+ DQo+ID4gICAJcmN1X3JlYWRfbG9jaygpOw0KPiA+ICsJdXNlX29wcCA9IGRldl9wbV9vcHBfZ2V0 X29wcF9jb3VudChkZXYpID4gMDsNCj4gPiAgIAlkbyB7DQo+ID4gLQkJb3BwID0gZGV2X3BtX29w cF9maW5kX2ZyZXFfY2VpbChkZXYsICZmcmVxKTsNCj4gPiAtCQlpZiAoSVNfRVJSKG9wcCkpDQo+ ID4gLQkJCWJyZWFrOw0KPiA+ICsJCWlmICh1c2Vfb3BwKSB7DQo+ID4gKwkJCW9wcCA9IGRldl9w bV9vcHBfZmluZF9mcmVxX2NlaWwoZGV2LCAmZnJlcSk7DQo+ID4gKwkJCWlmIChJU19FUlIob3Bw KSkNCj4gPiArCQkJCWJyZWFrOw0KPiA+ICsJCX0gZWxzZSB7DQo+ID4gKwkJCWZyZXEgPSBkZi0+ cHJvZmlsZS0+ZnJlcV90YWJsZVtpKytdOw0KPiA+ICsJCX0NCj4gPg0KPiA+ICAgCQljb3VudCAr PSBzY25wcmludGYoJmJ1Zltjb3VudF0sIChQQUdFX1NJWkUgLSBjb3VudCAtIDIpLA0KPiA+ICAg CQkJCSAgICIlbHUgIiwgZnJlcSk7DQo+ID4gICAJCWZyZXErKzsNCj4gPiAtCX0gd2hpbGUgKDEp Ow0KPiA+ICsJfSB3aGlsZSAodXNlX29wcCB8fCAoIXVzZV9vcHAgJiYgaSA8IG1heF9zdGF0ZSkp Ow0KPiA+ICAgCXJjdV9yZWFkX3VubG9jaygpOw0KPiA+DQo+ID4gICAJLyogVHJ1bmNhdGUgdGhl IHRyYWlsaW5nIHNwYWNlICovDQo+ID4NCj4gDQo+IA0KPiAtLSANCj4gVGhlIFF1YWxjb21tIElu bm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1 bSwNCj4gaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uDQo+IA0KPiANCj4gDQo+ICAgICAg ICANCj4gICANCj4gICAgICAgICAgDQo+IA0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752947AbaDOBgH (ORCPT ); Mon, 14 Apr 2014 21:36:07 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:22375 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752340AbaDOBgD (ORCPT ); Mon, 14 Apr 2014 21:36:03 -0400 X-AuditID: cbfee690-b7f266d00000287c-e3-534c8d01d807 Date: Tue, 15 Apr 2014 01:36:01 +0000 (GMT) From: =?euc-kr?B?x9S47cHW?= Subject: Re: Re: [PATCH] PM / devfreq: Use freq_table for available_frequencies To: Saravana Kannan Cc: =?euc-kr?Q?=B9=DA=B0=E6=B9=CE?= , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-msm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Reply-to: myungjoo.ham@samsung.com MIME-version: 1.0 X-MTR: 20140415012012184@myungjoo.ham Msgkey: 20140415012012184@myungjoo.ham X-EPLocale: ko_KR.euc-kr X-Priority: 3 X-EPWebmail-Msg-Type: personal X-EPWebmail-Reply-Demand: 0 X-EPApproval-Locale: X-EPHeader: ML X-EPTrCode: X-EPTrName: X-MLAttribute: X-RootMTR: 20140415012012184@myungjoo.ham X-ParentMTR: X-ArchiveUser: X-CPGSPASS: N Content-type: text/plain; charset=euc-kr MIME-version: 1.0 Message-id: <8568895.444151397525760132.JavaMail.weblogic@epml02> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnleLIzCtJLcpLzFFi42JZI2JSqMvY6xNsMPW8pMXlXXPYHBg9Pm+S C2CM4rJJSc3JLEst0rdL4Mr4sPkia0GPRMXCb3PZGhh3iHcxcnIICahLLFpykg3ElhAwkVi7 5wGULSZx4d56IJsLqGYpo8SfnutMMEWnjk2BSsxnlFj8fwIrSIJFQFVi17If7F2MHBxsAuYS 92cEgYSFBfwljvYfZgexRQT0JI40rWAF6WUWOM8kcbHrFBPEFUoSa/a9YgGxeQUEJU7OfMIC sUxV4nLjKqi4mkTrobWsEHEJiVnTL0DZvBIz2p9C1ctJTPu6hhnClpY4P2sDI8w3i78/horz Sxy7vYMJ5E6Q3if3g2HG7N78Bep5AYmpZw5CtWpJrFx/Hcrmk1iz8C0LzJhdp5Yzw/Te3zIX 7BVmAUWJKd0P2SFsLYkvP/axoXuLV8BR4s/MPpYJjMqzkKRmIWmfhaQdWc0CRpZVjKKpBckF xUnpRSZ6xYm5xaV56XrJ+bmbGIGJ4fS/ZxN2MN47YH2IMRkYJROZpUST84GJJa8k3tDYzMjC 1MTU2Mjc0ow0YSVxXrVHSUFCAumJJanZqakFqUXxRaU5qcWHGJk4OKUaGKedFtjwY/P0Tw05 Bn/PKr84dfta74WqBEllbjvLVRuUU2brxGVE5fIxZVq9Mqnsuuh01td6xr+tM09O7RVd+Onk 2wuCHcu71zE757gniz4P36m/e/UqtRVLDjyPN3+RxMecxsnXnP+mSWL5/OnrWlSm7OnO2lD6 elPDv6prOx35sjaVP/3tvUaJpTgj0VCLuag4EQCfIsDrIgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgk+LIzCtJLcpLzFFi42I5/e/2DF3GXp9gg6srhSwu75rD5sDo8XmT XABjVJpNRmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtBQ JYWyxJxSoFBAYnGxkr6dTVF+aUmqQkZ+cYmtUrShuZGekYGeqZGeoXGslaGBgZEpUE1CWsaH zRdZC3okKhZ+m8vWwLhDvIuRk0NIQF1i0ZKTbCC2hICJxKljU6BsMYkL99YD2VxANfMZJRb/ n8AKkmARUJXYtewHexcjBwebgLnE/RlBIGFhAX+Jo/2H2UFsEQE9iSNNK1hBepkFzjNJXOw6 xQSxTElizb5XLCA2r4CgxMmZT1gglqlKXG5cBRVXk2g9tJYVIi4hMWv6BSibV2JG+1OoejmJ aV/XMEPY0hLnZ21ghDl68ffHUHF+iWO3dzCB3AnS++R+MMyY3Zu/QP0oIDH1zEGoVi2Jleuv Q9l8EmsWvmWBGbPr1HJmmN77W+aCvcIsoCgxpfshO4StJfHlxz42dG/xCjhK/JnZxzKBUW4W ktQsJO2zkLQjq1nAyLKKUTS1ILmgOCm9wkivODG3uDQvXS85P3cTIzg9PVu0g/HfeetDjAIc jEo8vBPeeQcLsSaWFVfmHmKU4GBWEuF9newTLMSbklhZlVqUH19UmpNafIgxGRiBE5mlRJPz gakzryTe0NjYxMzE1NLEwsDUnDRhJXFe+VtJQUIC6YklqdmpqQWpRTBbmDg4pRoYX8bxitq/ 22LbNDn0Q9k0pk9LkruPclUsXDXxS21i+4Ecnjd/bydc067a+0D/Ueh3oW9Gx0sCrM9n9ryS bj6gIety7ef1r1ZHfZQCPT6sWOHQ+LTJXmrXtnsbVDtqZ5wxN/zwf1W1ferT/DNbao5n2a5X qT97sEMxxfJ0w/lfq0O6N2m73J7yWYmlOCPRUIu5qDgRAP6WVvGTAwAA DLP-Filter: Pass X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id s3F1aHsW022941 > MyungJoo/Kyungmin, > > Bump. Can we accept this patch please? > > -Saravana Nack. Please note that freq_table is also an optional value, which may be null. Besides, please be aware that your code is under rcu_read_lock(). Cheers, MyungJoo. ps. I'll send a related patch (avoid accessing null but not-an-error pointer at other sysfs nodes). Thank you for letting me catch such bugs anyway. > > > On 04/10/2014 07:54 PM, Saravana Kannan wrote: > > Some devices use freq_table instead of OPP. For those devices, the > > available_frequencies file shows up empty. Fix that by using freq_table to > > generate the available_frequencies data when OPP is not present. > > > > Signed-off-by: Saravana Kannan > > --- > > drivers/devfreq/devfreq.c | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > > index 2042ec3..a715d15 100644 > > --- a/drivers/devfreq/devfreq.c > > +++ b/drivers/devfreq/devfreq.c > > @@ -912,19 +912,26 @@ static ssize_t available_frequencies_show(struct device *d, > > struct devfreq *df = to_devfreq(d); > > struct device *dev = df->dev.parent; > > struct dev_pm_opp *opp; > > + unsigned int i = 0, max_state = df->profile->max_state; > > + bool use_opp; > > ssize_t count = 0; > > unsigned long freq = 0; > > > > rcu_read_lock(); > > + use_opp = dev_pm_opp_get_opp_count(dev) > 0; > > do { > > - opp = dev_pm_opp_find_freq_ceil(dev, &freq); > > - if (IS_ERR(opp)) > > - break; > > + if (use_opp) { > > + opp = dev_pm_opp_find_freq_ceil(dev, &freq); > > + if (IS_ERR(opp)) > > + break; > > + } else { > > + freq = df->profile->freq_table[i++]; > > + } > > > > count += scnprintf(&buf[count], (PAGE_SIZE - count - 2), > > "%lu ", freq); > > freq++; > > - } while (1); > > + } while (use_opp || (!use_opp && i < max_state)); > > rcu_read_unlock(); > > > > /* Truncate the trailing space */ > > > > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > hosted by The Linux Foundation > > > > > > > {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I