On 11/24/07, David Brownell <david-b@xxxxxxxxxxx> wrote: > On Friday 23 November 2007, Grant Likely wrote: > > Some multi-role (host/peripheral) USB controllers use a shared interrupt > > line for all parts of the chip. > > Like the musb_hdrc code ... soonish to go upstream (it needs some > updates to catch up to usbcore urb->status changes), this is used > by the Nokia 800 and 810. In terms of chips with Linux support: > DaVinci, TUSB60x0, OMAP 2430, OMAP 3430, Blackfin BF527; and ISTR > a few less-publicised ones (including, yes, some PPC SOCs). > > That driver hasn't needed to change usbcore for IRQ handling though. > > > > Export usb_hcd_irq so drivers can call it > > from their interrupt handler instead of duplicating code. > > This seems to be the main point of this patch. I'd rather just > make that "static" though; it should already be marked that way. > > That routine doesn't do enough to make me like it any more; and > with dual-role controllers, the driver lifecycle is more complex > than usbcore can be expected to mediate. Best to just call the > host side IRQ logic directly from your toplevel IRQ handler. > > > > Drivers pass an irqnum of 0 to usb_add_hcd to signal that the interrupt handler > > shouldn't be registerred by the core. > > The current way to get that behavior is to leave hcd->driver->irq > as zero; then "irqnum" is ignored, and your dual role driver can > register its own handler. Okay, I'll make that change. Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. grant.likely@xxxxxxxxxxxx (403) 399-0195 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ linux-usb-devel@xxxxxxxxxxxxxxxxxxxxx To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel