mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-14 10:17:56 -06:00
irq: Allow boards to define the return type of irq_save()
The AVR wants a uint8_t return type for irq_save(), but other architectures will generally prefer int. Allow the board to configure the size of the flag by introducing an irqstatus_t typedef. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
parent
9dd101c26f
commit
fa85094cbb
8 changed files with 33 additions and 25 deletions
|
@ -43,7 +43,7 @@ uint8_t
|
|||
sched_check_periodic(uint16_t time, uint16_t *pnext)
|
||||
{
|
||||
uint16_t next = *pnext, cur;
|
||||
uint8_t flag = irq_save();
|
||||
irqstatus_t flag = irq_save();
|
||||
cur = millis;
|
||||
irq_restore(flag);
|
||||
if ((int16_t)(cur - next) < 0)
|
||||
|
@ -82,7 +82,7 @@ void
|
|||
sched_timer(struct timer *add)
|
||||
{
|
||||
uint32_t waketime = add->waketime;
|
||||
uint8_t flag = irq_save();
|
||||
irqstatus_t flag = irq_save();
|
||||
if (sched_is_before(waketime, timer_list->waketime)) {
|
||||
// This timer is the next - insert at front of list and reschedule
|
||||
add->next = timer_list;
|
||||
|
@ -105,7 +105,7 @@ sched_timer(struct timer *add)
|
|||
void
|
||||
sched_del_timer(struct timer *del)
|
||||
{
|
||||
uint8_t flag = irq_save();
|
||||
irqstatus_t flag = irq_save();
|
||||
if (timer_list == del) {
|
||||
// Deleting the next active timer - delete and reschedule
|
||||
timer_list = del->next;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue