Thread (6 messages) flat view 6 messages, 3 authors, 2018-09-06

Re: [PATCH v3 3/3] usb: renesas_usbhs: Add multiple clocks management

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2018-09-06 07:28:14
Also in: linux-renesas-soc, linux-usb

Hi Shimoda-san,

On Thu, Sep 6, 2018 at 7:52 AM Yoshihiro Shimoda
[off-list ref] 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 <yoshihiro.shimoda.uh@renesas.com>
quoted hunk ↗ jump to hunk
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
quoted hunk ↗ jump to hunk
@@ -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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help