libmetal
Data Structures | Functions | Variables
irq.c File Reference
#include <errno.h>
#include <metal/irq.h>
#include <metal/sys.h>
#include <metal/log.h>
#include <metal/mutex.h>
#include <metal/list.h>
#include <metal/utilities.h>
#include <metal/alloc.h>

Data Structures

struct  metal_irq_hddesc
 
struct  metal_irq_desc
 
struct  metal_irqs_state
 

Functions

int metal_irq_register (int irq, metal_irq_handler hd, struct metal_device *dev, void *drv_id)
 Register interrupt handler for driver ID/device. More...
 
static void metal_irq_delete_node (struct metal_list *node, void *p_to_free)
 
int metal_irq_unregister (int irq, metal_irq_handler hd, struct metal_device *dev, void *drv_id)
 Unregister interrupt handler for driver ID and/or device. More...
 
unsigned int metal_irq_save_disable (void)
 disable interrupts More...
 
void metal_irq_restore_enable (unsigned int flags)
 restore interrupts to their previous state More...
 
void metal_irq_enable (unsigned int vector)
 metal_irq_enable More...
 
void metal_irq_disable (unsigned int vector)
 metal_irq_disable More...
 
void metal_irq_isr (unsigned int vector)
 default handler More...
 

Variables

static struct metal_irqs_state _irqs
 

Function Documentation

◆ metal_irq_delete_node()

static void metal_irq_delete_node ( struct metal_list node,
void *  p_to_free 
)
static

◆ metal_irq_isr()

void metal_irq_isr ( unsigned int  vector)

default handler

default interrupt handler

Variable Documentation

◆ _irqs

struct metal_irqs_state _irqs
static
Initial value:
= {
}
struct metal_list irqs
Definition: irq.c:39
#define METAL_MUTEX_INIT(m)
Definition: mutex.h:34
static struct metal_irqs_state _irqs
Definition: irq.c:43
#define METAL_INIT_LIST(name)
Definition: list.h:32
metal_mutex_t irq_lock
Definition: irq.c:40