Parametric scheduler approach.
[bertos.git] / bertos / cpu / irq.h
index 83b0496415751f3fa601cb0649fc3c39579aa5c8..466b524da2959f637f495be8121a3ef7ab63f624 100644 (file)
@@ -44,7 +44,7 @@
 #include "detect.h"
 #include "types.h"
 
-#include <kern/preempt.h>
+#include <kern/proc.h> /* proc_needPreempt() / proc_preempt() */
 
 #include <cfg/compiler.h> /* for uintXX_t */
 #include "cfg/cfg_proc.h" /* CONFIG_KERN_PREEMPT */
                        }                                               \
                        INLINE void __isr_##vect(void)
 
-               /**
-                * Interrupt service routine prototype: can be used for
-                * forward declarations.
-                */
-               #define ISR_PROTO(vect) ISR(vect)
-
                /**
                 * With task priorities enabled each ISR is used a point to
                 * check if we need to perform a context switch.
                #if CONFIG_KERN_PRI
                        #define DECLARE_ISR(func) \
                                DECLARE_ISR_CONTEXT_SWITCH(func)
-
+                       /**
+                        * Interrupt service routine prototype: can be used for
+                        * forward declarations.
+                        */
                        #define ISR_PROTO(func) \
                                ISR_PROTO_CONTEXT_SWITCH(func)
                #endif /* !CONFIG_KERN_PRI */
        #endif
 
-       #ifndef DECLARE_ISR
-               #define ISR_PROTO(vect) ISR(vect)
+       #ifndef ISR_PROTO
+               #define ISR_PROTO(vect) ISR(vect)
        #endif
        #ifndef DECLARE_ISR
                #define DECLARE_ISR(vect) ISR(vect)
        #ifndef DECLARE_ISR_CONTEXT_SWITCH
                #define DECLARE_ISR_CONTEXT_SWITCH(vect) ISR(vect)
        #endif
-       #ifndef ISR_PROTO
-               #define ISR_PROTO(func) ISR(vect)
-       #endif
        #ifndef ISR_PROTO_CONTEXT_SWITCH
                #define ISR_PROTO_CONTEXT_SWITCH(func) ISR(vect)
        #endif