On Wed, 17 May 2017, Tony Lindgren wrote: > This is needed in preparation of adding support for omap3 and > later OHCI. The runtime PM will only do something on platforms > that implement it. > @@ -51,6 +52,10 @@ static int ohci_platform_power_on(struct platform_device *dev) > struct ohci_platform_priv *priv = hcd_to_ohci_priv(hcd); > int clk, ret, phy_num; > > + ret = pm_runtime_get_sync(&dev->dev); > + if (ret < 0) > + return ret; > + I don't remember how probing for platform device drivers is set up. So although this is definitely the wrong place for pm_runtime_get_sync(), it may turn out that you need to do a pm_runtime_get_noresume() before calling pm_runtime_enable(), and a pm_runtime_put() at the end of ohci_platform_probe(). Otherwise runtime PM might kick in during the middle of the probe sequence -- not what you want. Similarly, you may need pm_runtime_get_sync() at the start of ohci_platform_remove() and pm_runtime_put_noidle() at the end. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html