Interrupt Handler

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);