summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/edb7312/network/network.c
diff options
context:
space:
mode:
authorVipul Nayyar <nayyar_vipul@yahoo.com>2013-07-10 09:52:28 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2013-07-10 12:23:50 -0500
commit893d66937a17c4bb9fb3b909cf884948b466a3b5 (patch)
treecf02654671b0068b6caea68d52da8933d142bcaf /c/src/lib/libbsp/arm/edb7312/network/network.c
parentbsp/virtex: Use #if instead of #ifdef (diff)
downloadrtems-893d66937a17c4bb9fb3b909cf884948b466a3b5.tar.bz2
Updated Legacy code in arm edb7312
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/arm/edb7312/network/network.c27
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)