Hi Geert-san,
> From: Geert Uytterhoeven, Sent: Thursday, September 6, 2018 4:28 PM
>
> Hi Shimoda-san,
>
> On Thu, Sep 6, 2018 at 7:52 AM Yoshihiro Shimoda
> <[email protected]> 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 <[email protected]>
>
> > --- 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.
That's right. Thank you for your comment.
> > + 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?
Yes, this is needed for backward s compatibility with old DT.
> In that case, you should do more thorough checking (first clock should
> exist, second should return -ENOENT).
I understood it. (For backwards compatibility with old DT, if second clock
returns -ENOENT, the driver should do a special handling.)
I'll fix this patch.
Best regards,
Yoshihiro Shimoda
> > + 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 --
> [email protected]
>
> 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