Dear Richard Zhao, > 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 Now, you'll laugh as this would be an obviously stupid question -- but where exactly does the debounce happen in the code? > > Signed-off-by: Richard Zhao <richard.zhao@xxxxxxxxxxxxx> > --- > drivers/usb/host/ehci-hcd.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c > index 5597e60..389252e 100644 > --- a/drivers/usb/host/ehci-hcd.c > +++ b/drivers/usb/host/ehci-hcd.c > @@ -928,6 +928,15 @@ 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 ((pstatus & PORT_CSC) && ehci->transceiver) > + usb_phy_notify_connect_change(ehci->transceiver, > + i, pstatus & PORT_CONNECT); > + > if (pstatus & PORT_OWNER) > continue; > if (!(test_bit(i, &ehci->suspended_ports) && Best regards, Marek Vasut -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html