libmetal
Data Structures | Macros | 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"

Data Structures

struct  metal_irq_hddesc
 
struct  metal_irqs_state
 

Macros

#define MAX_HDS   10
 

Functions

int metal_irq_register (int irq, metal_irq_handler hd, struct metal_device *dev, void *drv_id)
 Register interrupt or register interrupt handling of a specific interrupt. 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 interrupt handler More...
 
int metal_irq_init (void)
 
void metal_irq_deinit (void)
 

Variables

static struct metal_irqs_state _irqs
 

Macro Definition Documentation

◆ MAX_HDS

#define MAX_HDS   10

maximum number of handlers per IRQ

Function Documentation

◆ metal_irq_deinit()

void metal_irq_deinit ( void  )

◆ metal_irq_init()

int metal_irq_init ( void  )

◆ metal_irq_isr()

void metal_irq_isr ( unsigned int  vector)

default interrupt handler

Parameters
[in]vectorinterrupt vector

< irq handler

Variable Documentation

◆ _irqs

struct metal_irqs_state _irqs
static