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(). Changes from v1 (as RFC): - Fix the usage condition about priv->phys[]. - Remove RFC. Yoshihiro Shimoda (2): usb: host: ehci-platform: set hcd->phy to avoid phy_get() in usb_add_hcd() usb: host: ohci-platform: set hcd->phy to avoid phy_get() in usb_add_hcd() drivers/usb/host/ehci-platform.c | 3 +++ drivers/usb/host/ohci-platform.c | 3 +++ 2 files changed, 6 insertions(+) -- 1.9.1