#include <struct/list.h>
+/*
+ * Sanity check for config parameters required by this module.
+ */
+#if !defined(CONFIG_TIMER_EVENTS) || ((CONFIG_TIMER_EVENTS != 0) && CONFIG_TIMER_EVENTS != 1)
+ #error CONFIG_TIMER_EVENTS must be set to either 0 or 1 in cfg_timer.h
+#endif
+#if !defined(CONFIG_TIMER_UDELAY) || ((CONFIG_TIMER_UDELAY != 0) && CONFIG_TIMER_EVENTS != 1)
+ #error CONFIG_TIMER_UDELAY must be set to either 0 or 1 in cfg_timer.h
+#endif
+#if defined(CONFIG_TIMER_DISABLE_UDELAY)
+ #error Obosolete config option CONFIG_TIMER_DISABLE_UDELAY. Use CONFIG_TIMER_UDELAY
+#endif
+#if defined(CONFIG_TIMER_DISABLE_EVENTS)
+ #error Obosolete config option CONFIG_TIMER_DISABLE_EVENTS. Use CONFIG_TIMER_EVENTS
+#endif
extern volatile ticks_t _clock;
int timer_testRun(void);
int timer_testTearDown(void);
-#if !defined(CONFIG_TIMER_DISABLE_UDELAY)
+#if CONFIG_TIMER_UDELAY
void timer_busyWait(hptime_t delay);
void timer_delayHp(hptime_t delay);
INLINE void timer_udelay(utime_t delay)
}
#endif
-#ifndef CONFIG_TIMER_DISABLE_EVENTS
+#if CONFIG_TIMER_EVENTS
#include <mware/event.h>
Timer *timer_abort(Timer *timer);
/** Set the timer so that it calls an user hook when it expires */
-INLINE void timer_set_event_softint(Timer *timer, Hook func, iptr_t user_data)
+INLINE void timer_setSoftInt(Timer *timer, Hook func, iptr_t user_data)
{
event_initSoftInt(&timer->expire, func, user_data);
}
+// OBSOLETE
+#define timer_set_event_softint timer_setSoftInt
+
/** Set the timer delay (the time before the event will be triggered) */
INLINE void timer_setDelay(Timer *timer, ticks_t delay)
{
timer->_delay = delay;
}
-#endif /* CONFIG_TIMER_DISABLE_EVENTS */
+#endif /* CONFIG_TIMER_EVENTS */
#if defined(CONFIG_KERN_SIGNALS) && CONFIG_KERN_SIGNALS