> > There is more to be confused about -- you don't get the host/device > connection > interrupt from the PHY, but you dig one of them from the EHCI host and > the other > from the EHCI host too -- which is pretty messed up already. > > We can certainly use IRQF_SHARED to trap some of the interrupts in the > PHY code, > but that's still quite weird. > Below need to be implemented at phy driver: - struct usb_phy; - phy's interrupt which is only used for handle wakeup issue, PHY's interrupt line is NOT the same with controller's, so you don't need to use IRQF_SHARED, and request the same irq with controller's. Below need to be implemented at otg driver: - struct usb_otg; - manage PHY through PHY interfaces which are implemented at phy driver. - OTG interrupt, it only handles ID/vbus interrupt. - OTG switch routine, it handles host and device's add/remove operation due to id/vbus change and some operation_mode defined at platform_data or DT in fture. > > Sascha > > 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