On Wed, 3 Apr 2013, Felipe Balbi wrote: > > Lets suppose DWC3 enables runtime_pm on USB 2 type phy, > > it will try to go into suspend state and thereby call runtime_suspend(), if any. > > And PHY will come to active state only when its consumer wakes it up, > > and this consumer is operational > > only when its related PHY is in fully functional state. > > So do we have a situation in which this PHY goes into low power state > > in its runtime_suspend(), > > resulting in non-detection of devices on further attach (since PHY is > > in low power state) ? > > > > Will the controller (like EHCI/OHCI) be functional now ? > > ehci/ohci need to cope with that by calling usb_phy_autopm_get_sync(), > right ? (so does DWC3 :-) Maybe you guys have already got this all figured out -- if so, feel free to ignore this email. Some subsystems handle this issue by calling pm_runtime_get_sync() before probing a driver and pm_runtime_put_sync() after unbinding the driver. If the driver is runtime-PM-enabled, it then does its own put_sync near the end of its probe routine and get_sync in its release routine. With PHYs you don't have probing and releasing, but you do have consumers registering and unregistering themselves, which is about the same thing. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html