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>
This commit is contained in:
Kevin O'Connor
2017-03-27 16:38:01 -04:00
parent 7436ec093a
commit 6d05dd07f5
8 changed files with 63 additions and 50 deletions

View File

@@ -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();
}