The usb_add_hcd() will call phy_{get,init,power_on}() if hcd->phy is not set. After the usb_add_hcd() call phy_power_on(), it keeps until usb_remove_hcd(). And then, even if the system turns suspend, the usb core keeps the phy power. I think that each host driver should handle the phy power. So, this patch sets hcd->phy before usb_add_hcd() to avoid phy_get() in usb_add_hcd(). I'm not sure that this is a suitable way. (e.g. usb_add_hcd() should not call phy_get()?) So, I marked "RFC" into this patch set. Yoshihiro Shimoda (2): usb: host: ehci-platform: set hcd->phy to avoid phy_get() in usb_add_hcd() usb: host: ehci-platform: set hcd->phy to avoid phy_get() in usb_add_hcd() drivers/usb/host/ehci-platform.c | 2 ++ drivers/usb/host/ohci-platform.c | 2 ++ 2 files changed, 4 insertions(+) -- 1.9.1