/* timer callback reprogram the timer and call the interrupt job  */
static void snd_mpu401_uart_timer(unsigned long data)
/* timer callback reprogram the timer and call the interrupt job  */
static void snd_mpu401_uart_timer(unsigned long data)
{
	struct snd_mpu401 *mpu = (struct snd_mpu401 *)data;
	unsigned long flags;
	spin_lock_irqsave(&mpu->timer_lock, flags);
	mpu->timer.expires = 1 + jiffies;
	add_timer(&mpu->timer);
	spin_unlock_irqrestore(&mpu->timer_lock, flags);
	if (mpu->rmidi)
		_snd_mpu401_uart_interrupt(mpu);
}