On Fri, 23 Sep 2011, Munegowda, Keshava wrote: > On Thu, Sep 22, 2011 at 11:31 PM, Paul Walmsley <paul@xxxxxxxxx> wrote: > > But the question arises here , why do we need these ehci and ohci as two > different hwmods containing only irq and base address? It is required > for future - to implement remote wakeup feature for ehci and ohci ports > depending on irq-chain handler patches by Tero. Separate hwmods for ehci > and ohci are needed to enable prcm chain-handler to uniquely identify > the wakeup source as ehci or ohci and call only the corresponding > interrupt handler. We will be using omap_hwmod_mux_init for ehci and > ohci hwmods to enable I/O wakeup capability for respective IO-pads. > Depending on the particular wakeup source(ehci/ohci), the corresponding > ehci or ohci irq handler will be called. > > If ehci and ohci are combined with usbhs hwmod as a single hwmod , then > for every wakeup (either ehci or ohci port wakeup) only the first > interrupt handler will be called (please look at the function > omap_hwmod_mux_handle_irq of > > /arch/arm/mach-omap2/mux.c file ; in tero's latest patch: > http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg53139.html) > , so in this > case, if ehci interrupt is the first interrupt , then even for ohci wakeup > , only ehci interrupt will get called; which will break the functionality. Any reason why this couldn't be handled either by: 1. adding an IRQ number field to struct omap_hwmod_mux_info, and changing _omap_hwmod_mux_handle_irq() to raise that IRQ number? or 2. using shared interrupts? - Paul -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html