Update the Acorn VIDC sound interrupt handler to return IRQ_HANDLED.
return -EINVAL;
}
-static void vidc_audio_dma_interrupt(void)
+static irqreturn_t vidc_audio_dma_interrupt(void)
{
DMAbuf_outputintr(vidc_adev, 1);
+ return IRQ_HANDLED;
}
/*
* Virtual DMA buffer exhausted
*/
-extern void (*dma_interrupt) (void);
+extern irqreturn_t (*dma_interrupt) (void);
/*
* Virtual DMA buffer addresses
* ip = corrupted
*/
-%%%%%%%%%%%%%%%%%%%
-fixme! This funtion needs to return IRQ_HANDLED
-%%%%%%%%%%%%%%%%%%%
-
ENTRY(vidc_sound_dma_irq)
stmfd sp!, {r4 - r8, lr}
ldr r8, =dma_start
mov r0, #0x10
strneb r0, [ip, #IOMD_SD0CR]
ldmfd sp!, {r4 - r8, lr}
+ mov r0, #1 @ IRQ_HANDLED
teq r1, #0 @ If we have no more
movne pc, lr
teq r3, #0