[PATCH 2/4] usb: host: xhci-plat: Add support to get PHYs
From: jwerner@chromium.org (Julius Werner)
Date: 2014-06-09 20:22:17
Also in:
linux-samsung-soc, lkml
From: jwerner@chromium.org (Julius Werner)
Date: 2014-06-09 20:22:17
Also in:
linux-samsung-soc, lkml
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index 9ffecd5..453d89e 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h@@ -1582,6 +1582,9 @@ struct xhci_hcd { u32 port_status_u0; /* Compliance Mode Timer Triggered every 2 seconds */ #define COMP_MODE_RCVRY_MSECS 2000 + /* phys for the controller */ + struct phy *phy2_gen; + struct phy *phy3_gen; };
I don't think adding new variables here and restricting most of this logic to xhci-plat.c (in the next patch) is the best way to do it. There's no conceptual reason why other host controllers (e.g. xhci-pci or even EHCI) could not have a similar need to tune their PHY after reset. PHYs are universal to all host controllers. There is already a 'phy' member in struct usb_hcd which I think is mostly unused right now. I think it would be much less confusing/redundant to reuse that member for this purpose (you could still set it up from xhci_plat_probe(), and then call it from hcd_bus_resume() or something like that). Since XHCI host controllers already conveniently have two struct usb_hcd (one for 2.0 and one for 3.0), you can cleanly store references to your two PHYs in there.