From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,1/6] usb: xhci-mtk: get optional clock by devm_clk_get_optional() From: Chunfeng Yun Message-Id: <1555480437.10179.203.camel@mhfsdcap03> Date: Wed, 17 Apr 2019 13:53:57 +0800 To: Greg Kroah-Hartman Cc: Mathias Nyman , Matthias Brugger , Marek Szyprowski , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org List-ID: T24gVHVlLCAyMDE5LTA0LTE2IGF0IDEyOjE1ICswMjAwLCBHcmVnIEtyb2FoLUhhcnRtYW4gd3Jv dGU6Cj4gT24gV2VkLCBBcHIgMTAsIDIwMTkgYXQgMDI6NDc6MjRQTSArMDgwMCwgQ2h1bmZlbmcg WXVuIHdyb3RlOgo+ID4gVXNlIGRldm1fY2xrX2dldF9vcHRpb25hbCgpIHRvIGdldCBvcHRpb25h bCBjbG9jawo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBDaHVuZmVuZyBZdW4gPGNodW5mZW5nLnl1 bkBtZWRpYXRlay5jb20+Cj4gPiAtLS0KPiA+IHYyOiBubyBjaGFuZ2VzCj4gPiAtLS0KPiA+ICBk cml2ZXJzL3VzYi9ob3N0L3hoY2ktbXRrLmMgfCAxOSArKystLS0tLS0tLS0tLS0tLS0tCj4gPiAg MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4gPiAKPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktbXRrLmMgYi9kcml2ZXJzL3VzYi9o b3N0L3hoY2ktbXRrLmMKPiA+IGluZGV4IDYwOTg3Yzc4N2U0NC4uMDI2ZmUxODk3MmQzIDEwMDY0 NAo+ID4gLS0tIGEvZHJpdmVycy91c2IvaG9zdC94aGNpLW10ay5jCj4gPiArKysgYi9kcml2ZXJz L3VzYi9ob3N0L3hoY2ktbXRrLmMKPiA+IEBAIC0yMDYsMTkgKzIwNiw2IEBAIHN0YXRpYyBpbnQg eGhjaV9tdGtfc3N1c2JfY29uZmlnKHN0cnVjdCB4aGNpX2hjZF9tdGsgKm10aykKPiA+ICAJcmV0 dXJuIHhoY2lfbXRrX2hvc3RfZW5hYmxlKG10ayk7Cj4gPiAgfQo+ID4gIAo+ID4gLS8qIGlnbm9y ZSB0aGUgZXJyb3IgaWYgdGhlIGNsb2NrIGRvZXMgbm90IGV4aXN0ICovCj4gPiAtc3RhdGljIHN0 cnVjdCBjbGsgKm9wdGlvbmFsX2Nsa19nZXQoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFy ICppZCkKPiA+IC17Cj4gPiAtCXN0cnVjdCBjbGsgKm9wdF9jbGs7Cj4gPiAtCj4gPiAtCW9wdF9j bGsgPSBkZXZtX2Nsa19nZXQoZGV2LCBpZCk7Cj4gPiAtCS8qIGlnbm9yZSBlcnJvciBudW1iZXIg ZXhjZXB0IEVQUk9CRV9ERUZFUiAqLwo+ID4gLQlpZiAoSVNfRVJSKG9wdF9jbGspICYmIChQVFJf RVJSKG9wdF9jbGspICE9IC1FUFJPQkVfREVGRVIpKQo+ID4gLQkJb3B0X2NsayA9IE5VTEw7Cj4g PiAtCj4gPiAtCXJldHVybiBvcHRfY2xrOwo+ID4gLX0KPiA+IC0KPiA+ICBzdGF0aWMgaW50IHho Y2lfbXRrX2Nsa3NfZ2V0KHN0cnVjdCB4aGNpX2hjZF9tdGsgKm10aykKPiA+ICB7Cj4gPiAgCXN0 cnVjdCBkZXZpY2UgKmRldiA9IG10ay0+ZGV2Owo+ID4gQEAgLTIyOSwxNSArMjE2LDE1IEBAIHN0 YXRpYyBpbnQgeGhjaV9tdGtfY2xrc19nZXQoc3RydWN0IHhoY2lfaGNkX210ayAqbXRrKQo+ID4g IAkJcmV0dXJuIFBUUl9FUlIobXRrLT5zeXNfY2xrKTsKPiA+ICAJfQo+ID4gIAo+ID4gLQltdGst PnJlZl9jbGsgPSBvcHRpb25hbF9jbGtfZ2V0KGRldiwgInJlZl9jayIpOwo+ID4gKwltdGstPnJl Zl9jbGsgPSBkZXZtX2Nsa19nZXRfb3B0aW9uYWwoZGV2LCAicmVmX2NrIik7Cj4gPiAgCWlmIChJ U19FUlIobXRrLT5yZWZfY2xrKSkKPiA+ICAJCXJldHVybiBQVFJfRVJSKG10ay0+cmVmX2Nsayk7 Cj4gPiAgCj4gPiAtCW10ay0+bWN1X2NsayA9IG9wdGlvbmFsX2Nsa19nZXQoZGV2LCAibWN1X2Nr Iik7Cj4gPiArCW10ay0+bWN1X2NsayA9IGRldm1fY2xrX2dldF9vcHRpb25hbChkZXYsICJtY3Vf Y2siKTsKPiA+ICAJaWYgKElTX0VSUihtdGstPm1jdV9jbGspKQo+ID4gIAkJcmV0dXJuIFBUUl9F UlIobXRrLT5tY3VfY2xrKTsKPiA+ICAKPiA+IC0JbXRrLT5kbWFfY2xrID0gb3B0aW9uYWxfY2xr X2dldChkZXYsICJkbWFfY2siKTsKPiA+ICsJbXRrLT5kbWFfY2xrID0gZGV2bV9jbGtfZ2V0X29w dGlvbmFsKGRldiwgImRtYV9jayIpOwo+IAo+IEFsc28sIG5vdyB0aGF0IHRoaXMgY2xvY2sgKGFu ZCB0aGUgb3RoZXJzIGhlcmUpIGFyZSBjb250cm9sbGVkIGJ5IHRoZQo+IGRldm0gaW5mcmFzdHJ1 Y3R1cmUsIGRvIHlvdSBoYXZlIHRvIGNoYW5nZSB3aGVuIHlvdSB3ZXJlIGNsZWFuaW5nIHVwIGFu ZAo+IHN0b3BwaW5nIHRoZSBjbG9jaz8gIApObyBuZWVkLCBvcHRpb25hbF9jbGtfZ2V0KCkgdXNl cyBkZXZtX2Nsa19nZXQoKSB0byBnZXQgY2xvY2sKClRoYW5rcwoKPiBUaGF0IGxvZ2ljIHNlZW1z IHRvIGJlIHRoZSBzYW1lIGhlcmUsIHdoaWNoIGRvZXMKPiBub3Qgc2VlbSB0byBiZSBjb3JyZWN0 IHRvIG1lLgo+IAo+IFBsZWFzZSBhbHNvIGRvY3VtZW50IHRoYXQgaW4geW91ciBjaGFuZ2Vsb2cg Y29tbWVudHMgd2hlbiByZXNlbmRpbmcgdGhpcwo+IHNlcmllcywgYXMgYWxsIG9mIHRoZXNlIHBh dGNoZXMgaGF2ZSB0aGlzIGlzc3VlIGFzIHdlbGwuCj4gCj4gdGhhbmtzLAo+IAo+IGdyZWcgay1o Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,UNPARSEABLE_RELAY autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0D6B6C10F12 for ; Wed, 17 Apr 2019 05:54:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D88E920693 for ; Wed, 17 Apr 2019 05:54:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730469AbfDQFyH (ORCPT ); Wed, 17 Apr 2019 01:54:07 -0400 Received: from Mailgw01.mediatek.com ([1.203.163.78]:65021 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725767AbfDQFyG (ORCPT ); Wed, 17 Apr 2019 01:54:06 -0400 X-UUID: 2bfb11fffdad4cdb957cb28b7583214f-20190417 X-UUID: 2bfb11fffdad4cdb957cb28b7583214f-20190417 Received: from mtkcas34.mediatek.inc [(172.27.4.253)] by mailgw01.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLS) with ESMTP id 1703513507; Wed, 17 Apr 2019 13:53:59 +0800 Received: from MTKCAS32.mediatek.inc (172.27.4.184) by MTKMBS32N2.mediatek.inc (172.27.4.72) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 17 Apr 2019 13:53:57 +0800 Received: from [10.17.3.153] (172.27.4.253) by MTKCAS32.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 17 Apr 2019 13:53:57 +0800 Message-ID: <1555480437.10179.203.camel@mhfsdcap03> Subject: Re: [v2 PATCH 1/6] usb: xhci-mtk: get optional clock by devm_clk_get_optional() From: Chunfeng Yun To: Greg Kroah-Hartman CC: Mathias Nyman , Matthias Brugger , Marek Szyprowski , , , , Date: Wed, 17 Apr 2019 13:53:57 +0800 In-Reply-To: <20190416101506.GB26091@kroah.com> References: <20190416101506.GB26091@kroah.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit MIME-Version: 1.0 X-TM-SNTS-SMTP: 30ACA87CC6A87449EE64A2B4B4442C0660D238C9375587A7B268C78591AF87FE2000:8 X-MTK: N Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190417055357.j-8I_r-jjfuRLd8TbNzmUGke58ypkwcao-vcqHcIH7c@z> On Tue, 2019-04-16 at 12:15 +0200, Greg Kroah-Hartman wrote: > On Wed, Apr 10, 2019 at 02:47:24PM +0800, Chunfeng Yun wrote: > > Use devm_clk_get_optional() to get optional clock > > > > Signed-off-by: Chunfeng Yun > > --- > > v2: no changes > > --- > > drivers/usb/host/xhci-mtk.c | 19 +++---------------- > > 1 file changed, 3 insertions(+), 16 deletions(-) > > > > diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c > > index 60987c787e44..026fe18972d3 100644 > > --- a/drivers/usb/host/xhci-mtk.c > > +++ b/drivers/usb/host/xhci-mtk.c > > @@ -206,19 +206,6 @@ static int xhci_mtk_ssusb_config(struct xhci_hcd_mtk *mtk) > > return xhci_mtk_host_enable(mtk); > > } > > > > -/* ignore the error if the clock does not exist */ > > -static struct clk *optional_clk_get(struct device *dev, const char *id) > > -{ > > - struct clk *opt_clk; > > - > > - opt_clk = devm_clk_get(dev, id); > > - /* ignore error number except EPROBE_DEFER */ > > - if (IS_ERR(opt_clk) && (PTR_ERR(opt_clk) != -EPROBE_DEFER)) > > - opt_clk = NULL; > > - > > - return opt_clk; > > -} > > - > > static int xhci_mtk_clks_get(struct xhci_hcd_mtk *mtk) > > { > > struct device *dev = mtk->dev; > > @@ -229,15 +216,15 @@ static int xhci_mtk_clks_get(struct xhci_hcd_mtk *mtk) > > return PTR_ERR(mtk->sys_clk); > > } > > > > - mtk->ref_clk = optional_clk_get(dev, "ref_ck"); > > + mtk->ref_clk = devm_clk_get_optional(dev, "ref_ck"); > > if (IS_ERR(mtk->ref_clk)) > > return PTR_ERR(mtk->ref_clk); > > > > - mtk->mcu_clk = optional_clk_get(dev, "mcu_ck"); > > + mtk->mcu_clk = devm_clk_get_optional(dev, "mcu_ck"); > > if (IS_ERR(mtk->mcu_clk)) > > return PTR_ERR(mtk->mcu_clk); > > > > - mtk->dma_clk = optional_clk_get(dev, "dma_ck"); > > + mtk->dma_clk = devm_clk_get_optional(dev, "dma_ck"); > > Also, now that this clock (and the others here) are controlled by the > devm infrastructure, do you have to change when you were cleaning up and > stopping the clock? No need, optional_clk_get() uses devm_clk_get() to get clock Thanks > That logic seems to be the same here, which does > not seem to be correct to me. > > Please also document that in your changelog comments when resending this > series, as all of these patches have this issue as well. > > thanks, > > greg k-h