diff options
author | Jay Monkman <jtm@smoothsmoothie.com> | 2006-06-03 03:14:07 +0000 |
---|---|---|
committer | Jay Monkman <jtm@smoothsmoothie.com> | 2006-06-03 03:14:07 +0000 |
commit | 7afe5a2fe01b2edf7d1db5bc684e6b9ba7cb1a82 (patch) | |
tree | d5e98dd64e2485864d66952d7fdc0a8d148ffb3a /c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h | |
parent | 2006-06-02 Jay Monkman (diff) | |
download | rtems-7afe5a2fe01b2edf7d1db5bc684e6b9ba7cb1a82.tar.bz2 |
2006-06-02 Jay Monkman
* at91rm9200/irq/bsp_irq_init.c, mc9328mxl/clock/clockdrv.c,
mc9328mxl/irq/bsp_irq_asm.S, mc9328mxl/irq/bsp_irq_init.c,
mc9328mxl/irq/irq.c, mc9328mxl/irq/irq.h,
s3c2400/irq/bsp_irq_init.c: Changed interrupt handling
to use shared rtems_irq_connect_data struct.
Diffstat (limited to 'c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h')
-rw-r--r-- | c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h | 57 |
1 files changed, 8 insertions, 49 deletions
diff --git a/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h b/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h index 2dbd9683a1..ef679a4fab 100644 --- a/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h +++ b/c/src/lib/libcpu/arm/mc9328mxl/irq/irq.h @@ -15,6 +15,8 @@ #ifndef __IRQ_H__ #define __IRQ_H__ +#include <rtems/irq.h> + #ifdef __cplusplus extern "C" { #endif @@ -34,7 +36,7 @@ extern void default_int_handler(); * Constants **********************************************************************/ -/* possible interrupt sources on the AT91RM9200 */ +/* possible interrupt sources on the MC9328MXL */ #define BSP_INT_UART3_PFERR 0 #define BSP_INT_UART3_RTS 1 #define BSP_INT_UART3_DTR 2 @@ -101,42 +103,14 @@ extern void default_int_handler(); #define BSP_INT_WDT 63 #define BSP_MAX_INT 64 -typedef unsigned char rtems_irq_level; -typedef unsigned char rtems_irq_trigger; - -typedef unsigned int rtems_irq_number; -struct __rtems_irq_connect_data__; /* forward declaratiuon */ - -typedef void (*rtems_irq_hdl) (void); -typedef void (*rtems_irq_enable) (const struct __rtems_irq_connect_data__*); -typedef void (*rtems_irq_disable) (const struct __rtems_irq_connect_data__*); -typedef int (*rtems_irq_is_enabled)(const struct __rtems_irq_connect_data__*); - -extern rtems_irq_hdl bsp_vector_table[BSP_MAX_INT]; -#define VECTOR_TABLE bsp_vector_table - -typedef struct __rtems_irq_connect_data__ { - /* IRQ line */ - rtems_irq_number name; +typedef struct { + rtems_irq_hdl vector; + rtems_irq_hdl_param data; +} mc9328mxl_irq_info_t; - /* Handler */ - rtems_irq_hdl hdl; - /* function for enabling interrupts at device level. */ - rtems_irq_enable on; - /* function for disabling interrupts at device level. */ - rtems_irq_disable off; - - /* Function to test if interrupt is enabled */ - rtems_irq_is_enabled isOn; - - /* priority level of interrupt */ - rtems_irq_level irqLevel; - - /* Trigger method (rising/falling edge or high/low level) */ - rtems_irq_trigger irqTrigger; -} rtems_irq_connect_data; +extern mc9328mxl_irq_info_t bsp_vector_table[BSP_MAX_INT]; /* * function to initialize the interrupt for a specific BSP @@ -144,21 +118,6 @@ typedef struct __rtems_irq_connect_data__ { void BSP_rtems_irq_mngt_init(); -/* - * function to connect a particular irq handler. - */ -int BSP_install_rtems_irq_handler (const rtems_irq_connect_data*); - -/* - * function to get the current RTEMS irq handler for ptr->name. - */ -int BSP_get_current_rtems_irq_handler (rtems_irq_connect_data* ptr); - -/* - * function to disconnect the RTEMS irq handler for ptr->name. - */ -int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data*); - #endif /* __asm__ */ #ifdef __cplusplus |