libmetal
Toggle main menu visibility
Loading...
Searching...
No Matches
lib
irq.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2016, Xilinx Inc. and Contributors. All rights reserved.
3
*
4
* SPDX-License-Identifier: BSD-3-Clause
5
*/
6
11
12
#ifndef __METAL_IRQ__H__
13
#define __METAL_IRQ__H__
14
15
#include <metal/list.h>
16
#include <stdlib.h>
17
18
#ifdef __cplusplus
19
extern
"C"
{
20
#endif
21
25
27
#define METAL_IRQ_NOT_HANDLED 0
28
#define METAL_IRQ_HANDLED 1
29
36
typedef
int (*
metal_irq_handler
) (
int
irq,
void
*arg);
37
51
int
metal_irq_register
(
int
irq,
52
metal_irq_handler
irq_handler,
53
void
*arg);
54
60
static
inline
61
void
metal_irq_unregister
(
int
irq)
62
{
63
metal_irq_register
(irq, 0, NULL);
64
}
65
70
unsigned
int
metal_irq_save_disable
(
void
);
71
76
void
metal_irq_restore_enable
(
unsigned
int
flags);
77
85
void
metal_irq_enable
(
unsigned
int
vector);
86
94
void
metal_irq_disable
(
unsigned
int
vector);
95
97
98
#ifdef __cplusplus
99
}
100
#endif
101
102
#endif
/* __METAL_IRQ__H__ */
metal_irq_enable
void metal_irq_enable(unsigned int vector)
metal_irq_enable
Definition
irq.c:137
metal_irq_handler
int(* metal_irq_handler)(int irq, void *arg)
type of interrupt handler
Definition
irq.h:36
metal_irq_disable
void metal_irq_disable(unsigned int vector)
metal_irq_disable
Definition
irq.c:142
metal_irq_unregister
static void metal_irq_unregister(int irq)
Unregister interrupt handler for interrupt.
Definition
irq.h:61
metal_irq_save_disable
unsigned int metal_irq_save_disable(void)
disable interrupts
Definition
irq.c:21
metal_irq_register
int metal_irq_register(int irq, metal_irq_handler irq_handler, void *arg)
Register interrupt handler for interrupt. Only allow single interrupt handler for a interrupt.
Definition
irq.c:114
metal_irq_restore_enable
void metal_irq_restore_enable(unsigned int flags)
restore interrupts to their previous state
Definition
irq.c:26
Generated on
for libmetal by
1.17.0