Thread (4 messages) 4 messages, 2 authors, 2017-07-05

Re: [PATCH v2] clk: renesas: rcar-usb2-clock-sel: Add R-Car USB 2.0 clock selector PHY

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2017-07-05 12:22:12
Also in: linux-clk, linux-renesas-soc

Hi Shimoda-san,

On Wed, Jul 5, 2017 at 1:57 PM, Yoshihiro Shimoda
[off-list ref] wrote:
quoted
From: Geert Uytterhoeven
Sent: Wednesday, July 5, 2017 7:09 PM
On Wed, Jun 28, 2017 at 8:28 AM, Yoshihiro Shimoda
[off-list ref] wrote:
quoted
R-Car USB 2.0 controller can change the clock source from an oscillator
to an external clock via a register. So, this patch adds support
the clock source selector as a clock driver.
quoted
quoted
--- /dev/null
+++ b/drivers/clk/renesas/rcar-usb2-clock-sel.c
quoted
quoted
+/* Since this driver needs other ccf drivers, this uses subsys_initcall_sync */
+subsys_initcall_sync(rcar_usb2_clock_sel_init);
I suppose this is a workaround for the lack of probe deferral support in the
USB subsystem?
This is my fault. I added "power-domains" property into this device's node.
After I remove the power-domains like the cpg node, this driver can use subsys_initcall()
instead of subsys_initcall_sync().
Does the clock sel module requires the functional clock "ehci_ohci" to be
running before you can access its registers?
If yes, I think there should be a "power-domains" property.

Then, you can simplify the code by calling

        pm_runtime_enable(dev);
        pm_runtime_get_sync(dev);

and remove the explicit handling of the functional clock.

That does not solve probe deferral handling in the USB subsystem, though.

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