[PATCH v4] usb: ehci-hcd: notify phy when connect change
Richard Zhao
richard.zhao at freescale.com
Tue Jun 5 21:29:50 EDT 2012
It still has below limitations:
- it does not work for multi-phy ehci
- the best place is after debounce, but I can't get
phy there
Signed-off-by: Richard Zhao <richard.zhao at freescale.com>
---
drivers/usb/host/ehci-hcd.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index b100f5f..724ac471 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -928,6 +928,21 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
pstatus = ehci_readl(ehci,
&ehci->regs->port_status[i]);
+ /* FIXME:
+ * - it does not work for multi-phy ehci
+ * - the best place is after debounce, but I can't get
+ * phy there
+ */
+ if (unlikely(ehci->transceiver &&
+ (pstatus & PORT_CSC))) {
+ if (pstatus & PORT_CONNECT)
+ usb_phy_notify_connect(
+ ehci->transceiver, i);
+ else
+ usb_phy_notify_disconnect(
+ ehci->transceiver, i);
+ }
+
if (pstatus & PORT_OWNER)
continue;
if (!(test_bit(i, &ehci->suspended_ports) &&
--
1.7.5.4
More information about the linux-arm-kernel
mailing list