Remove spinlock contexts
All checks were successful
Build documentation / build-and-deploy (push) Successful in 28s

This commit is contained in:
2026-02-08 18:58:53 +01:00
parent 1ca3d11bac
commit 9e6035bd68
26 changed files with 161 additions and 262 deletions

View File

@@ -15,8 +15,6 @@ struct irq* irq_table[0x100];
static spin_lock_t irqs_lock = SPIN_LOCK_INIT;
bool irq_attach (void (*func) (void*, void*), void* arg, uint32_t irq_num) {
spin_lock_ctx_t ctxiqa;
struct irq* irq = malloc (sizeof (*irq));
if (irq == NULL) {
return false;
@@ -26,21 +24,19 @@ bool irq_attach (void (*func) (void*, void*), void* arg, uint32_t irq_num) {
irq->arg = arg;
irq->irq_num = irq_num;
spin_lock (&irqs_lock, &ctxiqa);
spin_lock (&irqs_lock);
irq_table[irq_num] = irq;
spin_unlock (&irqs_lock, &ctxiqa);
spin_unlock (&irqs_lock);
return true;
}
struct irq* irq_find (uint32_t irq_num) {
spin_lock_ctx_t ctxiqa;
spin_lock (&irqs_lock, &ctxiqa);
spin_lock (&irqs_lock);
struct irq* irq = irq_table[irq_num];
spin_unlock (&irqs_lock, &ctxiqa);
spin_unlock (&irqs_lock);
return irq;
}