diff options
author | Vipul Nayyar <nayyar_vipul@yahoo.com> | 2013-07-10 09:52:28 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2013-07-10 12:23:50 -0500 |
commit | 893d66937a17c4bb9fb3b909cf884948b466a3b5 (patch) | |
tree | cf02654671b0068b6caea68d52da8933d142bcaf /c/src/lib/libbsp/arm/edb7312/network/network.c | |
parent | bsp/virtex: Use #if instead of #ifdef (diff) | |
download | rtems-893d66937a17c4bb9fb3b909cf884948b466a3b5.tar.bz2 |
Updated Legacy code in arm edb7312
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/arm/edb7312/network/network.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/arm/edb7312/network/network.c b/c/src/lib/libbsp/arm/edb7312/network/network.c index 1db4d02dd2..ce139ecccb 100644 --- a/c/src/lib/libbsp/arm/edb7312/network/network.c +++ b/c/src/lib/libbsp/arm/edb7312/network/network.c @@ -2,18 +2,13 @@ #include <sys/mbuf.h> #include <bsp/irq.h> #include <libchip/cs8900.h> +#include <assert.h> #define CS8900_BASE 0x20000300 unsigned int bsp_cs8900_io_base = 0; unsigned int bsp_cs8900_memory_base = 0; cs8900_device *g_cs; void cs8900_isr(rtems_irq_hdl_param unused); -rtems_irq_connect_data cs8900_isr_data = {BSP_EINT3, - cs8900_isr, - NULL, - NULL, - NULL, - NULL}; char g_enetbuf[1520]; @@ -68,13 +63,29 @@ unsigned short cs8900_mem_get_reg (cs8900_device *cs, unsigned long reg) void cs8900_attach_interrupt (cs8900_device *cs) { + rtems_status_code status = RTEMS_SUCCESSFUL; g_cs = cs; - BSP_install_rtems_irq_handler(&cs8900_isr_data); + + status = rtems_interrupt_handler_install( + BSP_EINT3, + "Network", + RTEMS_INTERRUPT_UNIQUE, + cs8900_isr, + NULL + ); + assert(status == RTEMS_SUCCESSFUL); } void cs8900_detach_interrupt (cs8900_device *cs) { - BSP_remove_rtems_irq_handler(&cs8900_isr_data); + rtems_status_code status = RTEMS_SUCCESSFUL; + + status = rtems_interrupt_handler_remove( + BSP_EINT3, + cs8900_isr, + NULL + ); + assert(status == RTEMS_SUCCESSFUL); } unsigned short cs8900_get_data_block (cs8900_device *cs, unsigned char *data) |