[alsa-devel] How the dma interrupt handlers have been registered in ALSA?
tiwai at suse.de
Wed May 30 14:59:56 CEST 2007
At Wed, 30 May 2007 18:06:12 +0530,
Pharaoh . wrote:
> On 5/29/07, Takashi Iwai <tiwai at suse.de> wrote:
> > At Mon, 28 May 2007 21:41:59 +0530,
> > Pharaoh . wrote:
> > >
> > > Hi
> > >
> > > I am referring omap-alsa-dma.c and the related codec files. We usually
> > > register the IRQ handler by calling
> > > request_irq() function but in this mentioned files the IRQ handler etc is
> > > defined but it is not registered anywhere i.e. request_irq is not used
> > > anywhere. Is there any other way of registering irq handlers? The irq
> > > handlers address is passed to
> > > omap_request_dma, but there also it is not registered. I am missing the
> > > entire thing?
> > There is nothing but request_irq(). So, it implies that your code
> > flow isn't somehow correct. Missing probe hooks?
> > Takashi
> Apologies if this sounds novice, but after referring the omap specific
> alsa drivers, I wasn't able to locate any request_irq function getting
> called, I have traced the omap_request_dma function but it also
> doesn't explicaitly call request_irq, but in the file
> arch/arm/plat-omap/dma.c there is call arch_initcall(omap_init_dma),
> which calls request_irq. As per my humble knowledge this is part of
> board specific init and is done at boot time, so does this mean that
> it is done only once at boot time and any driver specific callback is
> called from this function? Can anyone throw more light on this, or
> answer my basic question why there is no request_irq in any of the
> omap specific files? I am using 2.6.19 kernel.
Ah, I see it's OMAP specific thing. Then omap_request_dma() should
register its own handler. Call it appropriately.
More information about the Alsa-devel