Add timer strobe macros default.
[bertos.git] / bertos / drv / timer.c
index 285d67c55e1242bfd772e0f2602c1637424a68e2..9e2a1173011d053f1baebc60c0634cfad837abf7 100644 (file)
  */
 
 #include "timer.h"
+#include "hw/hw_timer.h"
 
 #include "cfg/cfg_timer.h"
 #include "cfg/cfg_wdt.h"
-#include "cfg/cfg_kern.h"
+#include "cfg/cfg_proc.h"
+#include "cfg/cfg_signal.h"
 #include <cfg/os.h>
 #include <cfg/debug.h>
 #include <cfg/module.h>
@@ -48,6 +50,7 @@
 #include <cpu/attr.h>
 #include <cpu/types.h>
 #include <cpu/irq.h>
+#include <cpu/power.h> // cpu_relax()
 
 /*
  * Include platform-specific binding code if we're hosted.
        //#include OS_CSOURCE(timer)
        #include <emul/timer_posix.c>
 #else
-       #include CPU_CSOURCE(timer)
+       #ifndef WIZ_AUTOGEN
+               #warning Deprecated: now you should include timer_<cpu> directly in the makefile. Remove this line and the following once done.
+               #include CPU_CSOURCE(timer)
+       #endif
 #endif
 
 /*
@@ -120,7 +126,7 @@ REGISTER static List timers_queue;
 void timer_add(Timer *timer)
 {
        Timer *node;
-       cpuflags_t flags;
+       cpu_flags_t flags;
 
 
        /* Inserting timers twice causes mayhem. */
@@ -197,11 +203,7 @@ void timer_delayTicks(ticks_t delay)
 
        /* Busy wait */
        while (timer_clock() - start < delay)
-       {
-#if CONFIG_WATCHDOG
-               wdt_reset();
-#endif
-       }
+               cpu_relax();
 
 #endif /* !CONFIG_KERN_SIGNALS */
 }