[PATCH] Updated Legacy code in arm rtl22xx
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Jul 12 11:37:28 UTC 2013
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 : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list