When the interrupt is allocated in
snd_mpu401_uart_new()
, an exclusive ISA
interrupt handler is automatically used, hence you don't have
anything else to do than creating the mpu401 stuff. Otherwise, you
have to set MPU401_INFO_IRQ_HOOK
, and call
snd_mpu401_uart_interrupt()
explicitly from your
own interrupt handler when it has determined that a UART interrupt
has occurred.
In this case, you need to pass the private_data of the
returned rawmidi object from
snd_mpu401_uart_new()
as the second
argument of snd_mpu401_uart_interrupt()
.
snd_mpu401_uart_interrupt(irq, rmidi->private_data, regs);