On 07/12/2013 01:24 PM, Vipul Nayyar wrote:
--- c/src/lib/libbsp/arm/rtl22xx/network/network.c | 37 +++++++++++++++----------- c/src/libchip/network/cs8900.c | 4 +-- c/src/libchip/network/cs8900.h | 4 +-- 3 files changed, 26 insertions(+), 19 deletions(-)diff --git a/c/src/lib/libbsp/arm/rtl22xx/network/network.c b/c/src/lib/libbsp/arm/rtl22xx/network/network.c index 3b54862..77dc3e2 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/network/network.c +++ b/c/src/lib/libbsp/arm/rtl22xx/network/network.c @@ -3,24 +3,18 @@ #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 = {LPC22xx_INTERRUPT_EINT2, - cs8900_isr, - NULL, - NULL, - NULL, - NULL}; +void cs8900_isr(cs8900_device *cs); char g_enetbuf[1520]; -void cs8900_isr(rtems_irq_hdl_param unused) +void cs8900_isr(cs8900_device *cs) { - cs8900_interrupt(LPC22xx_INTERRUPT_EINT2, g_cs); + cs8900_interrupt(LPC22xx_INTERRUPT_EINT2, cs); } /* cs8900_io_set_reg - set one of the I/O addressed registers */ @@ -67,15 +61,28 @@ unsigned short cs8900_mem_get_reg (cs8900_device *cs, unsigned long reg) return cs8900_io_get_reg(cs, CS8900_IO_PP_DATA_PORT0); } -void cs8900_attach_interrupt (cs8900_device *cs) +void cs8900_attach_interrupt (void) { - g_cs = cs; - BSP_install_rtems_irq_handler(&cs8900_isr_data); + rtems_status_code status = RTEMS_SUCCESSFUL; + status = rtems_interrupt_handler_install( + LPC22xx_INTERRUPT_EINT2, + "Network", + RTEMS_INTERRUPT_UNIQUE, + (void *)cs8900_isr,
Please use the right function type and move the cast inside the cs8900_isr.
+ NULL + );
[...] This will not work. Do you know why? -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : [email protected] PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. _______________________________________________ rtems-devel mailing list [email protected] http://www.rtems.org/mailman/listinfo/rtems-devel
