Dear Alan Stern, > On Thu, 17 May 2012, Chen Peter-B29397 wrote: > > > > It's reasonable to assume that other controllers in the future may > > > > have similar needs -- they may even require multiple PHYs to be > > > > notified about connect changes on multiple ports. I see nothing > > > > wrong with > > > > > > > > implementing a callback just for this purpose. Something like: > > > > void (*phy_connect_change)(unsigned port, int connected); > > > > > > > > Then in the port loop in ehci_irq(), you could do: > > > > if (unlikely(ehci->phy_connect_change && (pstatus & PORT_CSC))) > > > > > > > > (ehci->phy_connect_change)(i, pstatus & PORT_CONNECT); > > > > Hi Alan & Marek, > > > > It is just FSL PHY's limitation, we can override ehci_irq at platform > > driver to finish the same thing. Better not to change common code, the > > cleaner the better for common code. > > The common code is already full of special-case quirk code for devices > from individual vendors. One more won't hurt. > > Besides, doing this in the interrupt handler is a hack, and it adds > overhead to all the I/O operations. Doing it as I suggested adds > overhead only when a port changes state. > > Also, IIRC Marek's proposal didn't check to see whether the controller > was suspended (powered down) before trying to read the status register. You're right, Alan. My patch _was_ wrong in many way. > > Alan Stern 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