Hi Shimoda-san, On Wed, Jul 5, 2017 at 1:57 PM, Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> wrote: >> From: Geert Uytterhoeven >> Sent: Wednesday, July 5, 2017 7:09 PM >> On Wed, Jun 28, 2017 at 8:28 AM, Yoshihiro Shimoda >> <yoshihiro.shimoda.uh@xxxxxxxxxxx> wrote: >> > 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. >> > --- /dev/null >> > +++ b/drivers/clk/renesas/rcar-usb2-clock-sel.c >> > +/* 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@xxxxxxxxxxxxxx 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html