Drop almost all the Qt3 cruft.
[bertos.git] / drv / timer.c
index bf65778db7df61918ceba16d0586505b02b3f1c9..85175224cdc37e03190872217590fd4d27938249 100755 (executable)
@@ -1,7 +1,7 @@
 /*!
  * \file
  * <!--
- * Copyright 2003, 2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2003, 2004, 2005, 2006 Develer S.r.l. (http://www.develer.com/)
  * Copyright 2000 Bernardo Innocenti <bernie@develer.com>
  * This file is part of DevLib - See README.devlib for information.
  * -->
 
 /*#*
  *#* $Log$
+ *#* Revision 1.30  2006/02/24 00:26:49  bernie
+ *#* Fixes for CONFIG_KERNEL.
+ *#*
+ *#* Revision 1.29  2006/02/17 22:24:07  bernie
+ *#* Add MOD_CHECK() checks.
+ *#*
+ *#* Revision 1.28  2006/02/10 12:32:52  bernie
+ *#* Update Copyright year.
+ *#*
  *#* Revision 1.27  2005/11/27 03:04:08  bernie
  *#* Move test code to timer_test.c; Add OS_HOSTED support.
  *#*
@@ -43,6 +52,7 @@
 #include <cfg/cpu.h>
 #include <cfg/os.h>
 #include <cfg/debug.h>
+#include <cfg/module.h>
 #include <appconfig.h>
 
 /*
        #include <drv/wdt.h>
 #endif
 
-#if CONFIG_KERNEL && CONFIG_KERN_SIGNALS
-       #include <kern/proc.h>
+#if CONFIG_KERNEL
+       #include <config_kern.h>
+       #if CONFIG_KERN_SIGNALS
+               #include <kern/signal.h> /* sig_wait(), sig_check() */
+               #include <kern/proc.h>   /* proc_current() */
+               #include <cfg/macros.h>  /* BV() */
+       #endif
 #endif
 
 
@@ -144,7 +159,7 @@ void timer_add(Timer *timer)
        }
 
        /* Enqueue timer request into the list */
-       INSERTBEFORE(&timer->link, &node->link);
+       INSERT_BEFORE(&timer->link, &node->link);
 
        IRQ_RESTORE(flags);
 }
@@ -164,8 +179,8 @@ Timer *timer_abort(Timer *timer)
 #endif /* CONFIG_TIMER_DISABLE_EVENTS */
 
 
-/*!
- * Wait for the specified amount of time (expressed in ms).
+/**
+ * Wait for the specified amount of timer ticks.
  */
 void timer_delayTicks(ticks_t delay)
 {
@@ -179,7 +194,7 @@ void timer_delayTicks(ticks_t delay)
 
        ASSERT(!sig_check(SIG_SINGLE));
        timer_set_event_signal(&t, proc_current(), SIG_SINGLE);
-       timer_set_delay(&t, delay);
+       timer_setDelay(&t, delay);
        timer_add(&t);
        sig_wait(SIG_SINGLE);
 
@@ -300,6 +315,7 @@ DEFINE_TIMER_ISR
        TIMER_STROBE_OFF;
 }
 
+MOD_DEFINE(timer)
 
 /*!
  * Initialize timer
@@ -315,4 +331,6 @@ void timer_init(void)
        _clock = 0;
 
        timer_hw_init();
+
+       MOD_INIT(timer);
 }