From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 References: <1536213014-1325-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> <1536213014-1325-4-git-send-email-yoshihiro.shimoda.uh@renesas.com> In-Reply-To: <1536213014-1325-4-git-send-email-yoshihiro.shimoda.uh@renesas.com> From: Geert Uytterhoeven Date: Thu, 6 Sep 2018 09:28:14 +0200 Message-ID: Subject: Re: [PATCH v3 3/3] usb: renesas_usbhs: Add multiple clocks management Content-Type: text/plain; charset="UTF-8" To: Yoshihiro Shimoda Cc: Felipe Balbi , Rob Herring , Mark Rutland , Greg KH , USB list , Linux-Renesas , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" List-ID: Hi Shimoda-san, On Thu, Sep 6, 2018 at 7:52 AM Yoshihiro Shimoda wrote: > R-Car Gen3 needs to enable clocks of both host and peripheral. > Since [eo]hci-platform disables the reset(s) when the drivers are > removed, renesas_usbhs driver doesn't work correctly. To fix this > issue, this patch adds multiple clocks management on this > renesas_usbhs driver. > > Signed-off-by: Yoshihiro Shimoda > --- a/drivers/usb/renesas_usbhs/common.c > +++ b/drivers/usb/renesas_usbhs/common.c > @@ -667,6 +684,12 @@ static int usbhs_probe(struct platform_device *pdev) > if (ret) > goto probe_fail_rst; > > + if (priv->num_clks) { > + ret = clk_bulk_get(&pdev->dev, priv->num_clks, priv->clks); (inspired by Morimoto-san) clk_bulk_get() is a no-op if num_clks is zero. > + if (ret == -EPROBE_DEFER) Why this special handling for -EPROBE_DEFER only? Shouldn't all errors be considered fatal? Perhaps this is needed for backwards compatibility with old DT? In that case, you should do more thorough checking (first clock should exist, second should return -ENOENT). > + goto probe_fail_clks; > + } > + > /* > * deviece reset here because > * USB device might be used in boot loader. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds 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: [v3,3/3] usb: renesas_usbhs: Add multiple clocks management From: Geert Uytterhoeven Message-Id: Date: Thu, 6 Sep 2018 09:28:14 +0200 To: Yoshihiro Shimoda Cc: Felipe Balbi , Rob Herring , Mark Rutland , Greg KH , USB list , Linux-Renesas , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" List-ID: SGkgU2hpbW9kYS1zYW4sCgpPbiBUaHUsIFNlcCA2LCAyMDE4IGF0IDc6NTIgQU0gWW9zaGloaXJv IFNoaW1vZGEKPHlvc2hpaGlyby5zaGltb2RhLnVoQHJlbmVzYXMuY29tPiB3cm90ZToKPiBSLUNh ciBHZW4zIG5lZWRzIHRvIGVuYWJsZSBjbG9ja3Mgb2YgYm90aCBob3N0IGFuZCBwZXJpcGhlcmFs Lgo+IFNpbmNlIFtlb11oY2ktcGxhdGZvcm0gZGlzYWJsZXMgdGhlIHJlc2V0KHMpIHdoZW4gdGhl IGRyaXZlcnMgYXJlCj4gcmVtb3ZlZCwgcmVuZXNhc191c2JocyBkcml2ZXIgZG9lc24ndCB3b3Jr IGNvcnJlY3RseS4gVG8gZml4IHRoaXMKPiBpc3N1ZSwgdGhpcyBwYXRjaCBhZGRzIG11bHRpcGxl IGNsb2NrcyBtYW5hZ2VtZW50IG9uIHRoaXMKPiByZW5lc2FzX3VzYmhzIGRyaXZlci4KPgo+IFNp Z25lZC1vZmYtYnk6IFlvc2hpaGlybyBTaGltb2RhIDx5b3NoaWhpcm8uc2hpbW9kYS51aEByZW5l c2FzLmNvbT4KCj4gLS0tIGEvZHJpdmVycy91c2IvcmVuZXNhc191c2Jocy9jb21tb24uYwo+ICsr KyBiL2RyaXZlcnMvdXNiL3JlbmVzYXNfdXNiaHMvY29tbW9uLmMKCj4gQEAgLTY2Nyw2ICs2ODQs MTIgQEAgc3RhdGljIGludCB1c2Joc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ICAgICAgICAgaWYgKHJldCkKPiAgICAgICAgICAgICAgICAgZ290byBwcm9iZV9mYWlsX3Jz dDsKPgo+ICsgICAgICAgaWYgKHByaXYtPm51bV9jbGtzKSB7Cj4gKyAgICAgICAgICAgICAgIHJl dCA9IGNsa19idWxrX2dldCgmcGRldi0+ZGV2LCBwcml2LT5udW1fY2xrcywgcHJpdi0+Y2xrcyk7 CgooaW5zcGlyZWQgYnkgTW9yaW1vdG8tc2FuKSBjbGtfYnVsa19nZXQoKSBpcyBhIG5vLW9wIGlm IG51bV9jbGtzIGlzIHplcm8uCgoKPiArICAgICAgICAgICAgICAgaWYgKHJldCA9PSAtRVBST0JF X0RFRkVSKQoKV2h5IHRoaXMgc3BlY2lhbCBoYW5kbGluZyBmb3IgLUVQUk9CRV9ERUZFUiBvbmx5 PwpTaG91bGRuJ3QgYWxsIGVycm9ycyBiZSBjb25zaWRlcmVkIGZhdGFsPwoKUGVyaGFwcyB0aGlz IGlzIG5lZWRlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgRFQ/CkluIHRo YXQgY2FzZSwgeW91IHNob3VsZCBkbyBtb3JlIHRob3JvdWdoIGNoZWNraW5nIChmaXJzdCBjbG9j ayBzaG91bGQKZXhpc3QsIHNlY29uZCBzaG91bGQgcmV0dXJuIC1FTk9FTlQpLgoKPiArICAgICAg ICAgICAgICAgICAgICAgICBnb3RvIHByb2JlX2ZhaWxfY2xrczsKPiArICAgICAgIH0KPiArCj4g ICAgICAgICAvKgo+ICAgICAgICAgICogZGV2aWVjZSByZXNldCBoZXJlIGJlY2F1c2UKPiAgICAg ICAgICAqIFVTQiBkZXZpY2UgbWlnaHQgYmUgdXNlZCBpbiBib290IGxvYWRlci4KCkdye29ldGpl LGVldGluZ31zLAoKICAgICAgICAgICAgICAgICAgICAgICAgR2VlcnQK