libmetal
|
Macros | |
#define | METAL_IRQ_NOT_HANDLED 0 |
#define | METAL_IRQ_HANDLED 1 |
Typedefs | |
typedef int(* | metal_irq_handler) (int irq, void *priv) |
type of interrupt handler More... | |
Functions | |
int | metal_irq_register (int irq, metal_irq_handler irq_handler, 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... | |
#define METAL_IRQ_HANDLED 1 |
#define METAL_IRQ_NOT_HANDLED 0 |
IRQ handled status
typedef int(* metal_irq_handler) (int irq, void *priv) |
type of interrupt handler
[in] | irq | interrupt id |
[in] | priv | private data |
void metal_irq_disable | ( | unsigned int | vector | ) |
metal_irq_disable
Disables the given interrupt
vector | - interrupt vector number |
void metal_irq_enable | ( | unsigned int | vector | ) |
metal_irq_enable
Enables the given interrupt
vector | - interrupt vector number |
int metal_irq_register | ( | int | irq, |
metal_irq_handler | irq_handler, | ||
struct metal_device * | dev, | ||
void * | drv_id | ||
) |
Register interrupt or register interrupt handling of a specific interrupt.
If the interrupt handler parameter (irq_handler) is NULL, deregister the interrupt handler.
If the interrupt handler, device (dev), and driver ID (drv_id) are NULL, deregister all handlers corresponding to the interrupt.
If the interrupt handler is NULL, but either the device or the driver ID is not NULL, only deregister the interrupt handler Which has been registered with the same device and driver ID.
[in] | irq | interrupt id |
[in] | irq_handler | interrupt handler |
[in] | dev | metal device this irq belongs to |
[in] | drv_id | driver id. It can be used for driver data. |
void metal_irq_restore_enable | ( | unsigned int | flags | ) |
restore interrupts to their previous state
[in] | flags | previous interrupts state |
unsigned int metal_irq_save_disable | ( | void | ) |
disable interrupts