On Thu, Jun 07, 2012 at 10:04:00AM +0800, Chen Peter-B29397 wrote: > > > > > > 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 > > > > > + /* 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))) { > > > > A new thought... If you move the transceiver pointer from struct > > ehci_hcd to struct usb_hcd, then you _will_ be able to get at it from > > within the debouncing routine. > > > Good suggestion, after that the driver can add PHY operation(quirk or not) > during the whole usb host life periods. Since it makes it more generic, I'm considering: - change variable name from transceiver to phy - Do we need considering phy on hub? I prefer HCD phy only. - Do we need supporting multi-phy for one hcd? I don't know multi-phy case, so I prefer one phy one hcd. Thanks Richard > > > Or if you prefer, leave the pointer where it is and add a method to > > struct hc_driver for retrieving the pointer. > > > > Alan Stern > > > -- 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