Xenomai
3.1
|
Macros | |
#define | rtdm_irq_get_arg(irq_handle, type) ((type *)irq_handle->cookie) |
Retrieve IRQ handler argument More... | |
Typedefs | |
typedef int(* | rtdm_irq_handler_t) (rtdm_irq_t *irq_handle) |
Interrupt handler. More... | |
Functions | |
int | rtdm_irq_request (rtdm_irq_t *irq_handle, unsigned int irq_no, rtdm_irq_handler_t handler, unsigned long flags, const char *device_name, void *arg) |
Register an interrupt handler More... | |
int | rtdm_irq_free (rtdm_irq_t *irq_handle) |
Release an interrupt handler More... | |
int | rtdm_irq_enable (rtdm_irq_t *irq_handle) |
Enable interrupt line More... | |
int | rtdm_irq_disable (rtdm_irq_t *irq_handle) |
Disable interrupt line More... | |
RTDM_IRQTYPE_xxx | |
#define | RTDM_IRQTYPE_SHARED XN_IRQTYPE_SHARED |
Enable IRQ-sharing with other real-time drivers. | |
#define | RTDM_IRQTYPE_EDGE XN_IRQTYPE_EDGE |
Mark IRQ as edge-triggered, relevant for correct handling of shared edge-triggered IRQs. | |
RTDM_IRQ_xxx | |
#define | RTDM_IRQ_NONE XN_IRQ_NONE |
Unhandled interrupt. | |
#define | RTDM_IRQ_HANDLED XN_IRQ_HANDLED |
Denote handled interrupt. | |
#define | RTDM_IRQ_DISABLE XN_IRQ_DISABLE |
Request interrupt disabling on exit. | |
#define rtdm_irq_get_arg | ( | irq_handle, | |
type | |||
) | ((type *)irq_handle->cookie) |
Retrieve IRQ handler argument
irq_handle | IRQ handle |
type | Type of the pointer to return |
typedef int(* rtdm_irq_handler_t) (rtdm_irq_t *irq_handle) |
Interrupt handler.
[in] | irq_handle | IRQ handle as returned by rtdm_irq_request() |
int rtdm_irq_disable | ( | rtdm_irq_t * | irq_handle | ) |
Disable interrupt line
[in,out] | irq_handle | IRQ handle as returned by rtdm_irq_request() |
int rtdm_irq_enable | ( | rtdm_irq_t * | irq_handle | ) |
Enable interrupt line
[in,out] | irq_handle | IRQ handle as returned by rtdm_irq_request() |
int rtdm_irq_free | ( | rtdm_irq_t * | irq_handle | ) |
Release an interrupt handler
[in,out] | irq_handle | IRQ handle as returned by rtdm_irq_request() |
int rtdm_irq_request | ( | rtdm_irq_t * | irq_handle, |
unsigned int | irq_no, | ||
rtdm_irq_handler_t | handler, | ||
unsigned long | flags, | ||
const char * | device_name, | ||
void * | arg | ||
) |
Register an interrupt handler
This function registers the provided handler with an IRQ line and enables the line.
[in,out] | irq_handle | IRQ handle |
[in] | irq_no | Line number of the addressed IRQ |
[in] | handler | Interrupt handler |
[in] | flags | Registration flags, see RTDM_IRQTYPE_xxx for details |
[in] | device_name | Device name to show up in real-time IRQ lists |
[in] | arg | Pointer to be passed to the interrupt handler on invocation |