Beispiel #1
0
static int
def_tmr_open (int dev, int mode)
{
  if (opened)
    return RET_ERROR (EBUSY);

  tmr_reset ();
  curr_tempo = 60;
  curr_timebase = HZ;
  opened = 1;

  ACTIVATE_TIMER (def_tmr, poll_def_tmr, 1);

  return 0;
}
Beispiel #2
0
static void
poll_def_tmr (unsigned long dummy)
{

  if (opened)
    {
      ACTIVATE_TIMER (def_tmr, poll_def_tmr, 1);

      if (tmr_running)
	{
	  tmr_ctr++;
	  curr_ticks = ticks_offs + tmr2ticks (tmr_ctr);

	  if (curr_ticks >= next_event_time)
	    {
	      next_event_time = 0xffffffff;
	      sequencer_timer ();
	    }
	}
    }
}
Beispiel #3
0
static void
poll_uart6850 (unsigned long dummy)
{
  unsigned long   flags;

  DEFINE_TIMER (uart6850_timer, poll_uart6850);

  if (!(uart6850_opened & OPEN_READ))
    return;			/*
				 * No longer required
				 */

  DISABLE_INTR (flags);

  if (input_avail ())
    uart6850_input_loop ();

  ACTIVATE_TIMER (uart6850_timer, poll_uart6850, 1);	/*
							 * Come back later
							 */

  RESTORE_INTR (flags);
}