mirror of
https://github.com/Klipper3d/klipper.git
synced 2025-07-17 19:57:57 -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
|
@ -30,7 +30,7 @@ move_free(struct move *m)
|
|||
struct move *
|
||||
move_alloc(void)
|
||||
{
|
||||
uint8_t flag = irq_save();
|
||||
irqstatus_t flag = irq_save();
|
||||
struct move *m = move_free_list;
|
||||
if (!m)
|
||||
shutdown("Move queue empty");
|
||||
|
@ -231,7 +231,7 @@ void
|
|||
command_debug_read16(uint32_t *args)
|
||||
{
|
||||
uint16_t *ptr = (void*)(size_t)args[0];
|
||||
uint8_t flag = irq_save();
|
||||
irqstatus_t flag = irq_save();
|
||||
uint16_t v = *ptr;
|
||||
irq_restore(flag);
|
||||
sendf("debug_result val=%hu", v);
|
||||
|
@ -251,7 +251,7 @@ void
|
|||
command_debug_write16(uint32_t *args)
|
||||
{
|
||||
uint16_t *ptr = (void*)(size_t)args[0];
|
||||
uint8_t flag = irq_save();
|
||||
irqstatus_t flag = irq_save();
|
||||
*ptr = args[1];
|
||||
irq_restore(flag);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue