libmetal  latest
irq_controller.h File Reference
#include <metal/irq.h>
#include <metal/list.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  metal_irq
 Libmetal interrupt structure. More...
 
struct  metal_irq_controller
 Libmetal interrupt controller structure. More...
 

Macros

#define METAL_IRQ_ANY   (-1)
 IRQ ANY ID. More...
 
#define METAL_IRQ_DISABLE   0U
 IRQ state macro which will be passed to metal irq set state function to indicate which state the caller want the IRQ to change to. More...
 
#define METAL_IRQ_ENABLE   1U
 
#define METAL_IRQ_CONTROLLER_DECLARE(_irq_controller, _irq_base, _irq_num, _arg, _irq_set_enable, _irq_register, _irqs)
 

Typedefs

typedef void(* metal_irq_set_enable) (struct metal_irq_controller *irq_cntr, int irq, unsigned int enable)
 type of interrupt controller to set irq enable More...
 
typedef int(* metal_cntr_irq_register) (struct metal_irq_controller *irq_cntr, int irq, metal_irq_handler hd, void *arg)
 type of controller specific registering interrupt function More...
 

Functions

int metal_irq_register_controller (struct metal_irq_controller *cntr)
 metal_irq_register_controller More...
 
static int metal_irq_handle (struct metal_irq *irq_data, int irq)
 metal_irq_handle More...