aboutsummaryrefslogtreecommitdiffstats
path: root/src/sam3x8e/timer.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-03-27 16:38:01 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-03-30 11:24:42 -0400
commit6d05dd07f59ef21dc81a299e865cdee1fc1d3f8e (patch)
tree5eb3eab42f4a7e0abe0c5b790cee9938a1f65564 /src/sam3x8e/timer.c
parent7436ec093acc6f45e0fc2389de7294be43e3f0a8 (diff)
downloadkutter-6d05dd07f59ef21dc81a299e865cdee1fc1d3f8e.tar.gz
kutter-6d05dd07f59ef21dc81a299e865cdee1fc1d3f8e.tar.xz
kutter-6d05dd07f59ef21dc81a299e865cdee1fc1d3f8e.zip
sched: Move timer dispatch loop to board code
Rename sched_timer_kick() to sched_timer_dispatch() and move its loop into its callers in the board code. This eliminates the need to export timer_try_set_next() from the board code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/sam3x8e/timer.c')
-rw-r--r--src/sam3x8e/timer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sam3x8e/timer.c b/src/sam3x8e/timer.c
index e450d21e..dcc8dbd2 100644
--- a/src/sam3x8e/timer.c
+++ b/src/sam3x8e/timer.c
@@ -10,6 +10,9 @@
#include "sam3x8e.h" // TC0
#include "sched.h" // sched_timer_kick
+// From generic/timer.c
+extern void timer_dispatch_many(void);
+
// IRQ handler
void __visible
TC0_Handler(void)
@@ -17,7 +20,7 @@ TC0_Handler(void)
irq_disable();
uint32_t status = TC0->TC_CHANNEL[0].TC_SR; // read to clear irq pending
if (likely(status & TC_SR_CPAS))
- sched_timer_kick();
+ timer_dispatch_many();
irq_enable();
}