diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-08-30 13:16:35 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2011-08-30 13:16:35 +0000 |
commit | b907a78b7a671f04ec193c88f48c3dec8d2f70b2 (patch) | |
tree | cedf4c309fca4332b18bba468ede7485905d040b /c | |
parent | 2011-08-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-b907a78b7a671f04ec193c88f48c3dec8d2f70b2.tar.bz2 |
2011-08-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libchip/network/smc91111exp.h, libchip/network/smc91111.c: Use
BSP_FEATURE_IRQ_EXTENSION define.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/libchip/network/smc91111.c | 44 | ||||
-rw-r--r-- | c/src/libchip/network/smc91111exp.h | 6 |
3 files changed, 32 insertions, 23 deletions
diff --git a/c/src/ChangeLog b/c/src/ChangeLog index 6d212be7cb..2c0694913a 100644 --- a/c/src/ChangeLog +++ b/c/src/ChangeLog @@ -1,3 +1,8 @@ +2011-08-30 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * libchip/network/smc91111exp.h, libchip/network/smc91111.c: Use + BSP_FEATURE_IRQ_EXTENSION define. + 2011-08-30 Peter Dufault <dufault@hda.com> * libchip/network/smc91111.c: Modify to support the MPC5554 using new diff --git a/c/src/libchip/network/smc91111.c b/c/src/libchip/network/smc91111.c index 2c71ca2bfd..a471f7ce39 100644 --- a/c/src/libchip/network/smc91111.c +++ b/c/src/libchip/network/smc91111.c @@ -59,14 +59,14 @@ #include "smc91111config.h" #include <libchip/smc91111.h> -#ifdef _OLD_EXCEPTIONS -#if defined(__m68k__) -extern m68k_isr_entry set_vector( rtems_isr_entry, rtems_vector_number, int ); +#ifdef BSP_FEATURE_IRQ_EXTENSION + #include <rtems/irq-extension.h> #else -extern rtems_isr_entry set_vector( rtems_isr_entry, rtems_vector_number, int ); -#endif -#else -#include <rtems/irq-extension.h> + #if defined(__m68k__) + extern m68k_isr_entry set_vector( rtems_isr_entry, rtems_vector_number, int ); + #else + extern rtems_isr_entry set_vector( rtems_isr_entry, rtems_vector_number, int ); + #endif #endif struct lan91cxx_priv_data smc91111; @@ -1072,21 +1072,25 @@ int lan91cxx_hardware_init(struct lan91cxx_priv_data *cpd) cpd->txbusy = cpd->within_send = 0; /* install interrupt vector */ -#ifdef _OLD_EXCEPTIONS +#ifdef BSP_FEATURE_IRQ_EXTENSION + { + rtems_status_code sc = RTEMS_SUCCESSFUL; + + sc = rtems_interrupt_handler_install( + cpd->config.vector, + cpd->config.info, + cpd->config.options, + cpd->config.interrupt_wrapper, + cpd->config.arg + ); + if (sc != RTEMS_SUCCESSFUL) { + printf("rtems_interrupt_handler_install returned %d.\n", sc); + return 0; + } + } +#else db_printf("Install lan91cxx irqvector at %d\n", cpd->config.vector); set_vector(lan91cxx_interrupt_handler, cpd->config.vector, 1); -#else - { - int r; - if ((r = rtems_interrupt_handler_install(cpd->config.vector, - cpd->config.info, - cpd->config.options, - cpd->config.interrupt_wrapper, - cpd->config.arg) )) { - printf("rtems_interrupt_handler_install returned %d.\n", r); - return 0; - } - } #endif /* Reset chip */ diff --git a/c/src/libchip/network/smc91111exp.h b/c/src/libchip/network/smc91111exp.h index 15c13e0b72..3f8ba1e414 100644 --- a/c/src/libchip/network/smc91111exp.h +++ b/c/src/libchip/network/smc91111exp.h @@ -5,6 +5,8 @@ #ifndef _SMC91111_EXP_H_ #define _SMC91111_EXP_H_ +#include <bsp.h> + typedef struct scmv91111_configuration { void *baseaddr; unsigned int vector; @@ -12,9 +14,7 @@ typedef struct scmv91111_configuration { unsigned int ctl_rspeed; unsigned int ctl_rfduplx; unsigned int ctl_autoneg; -#ifndef _OLD_EXCEPTIONS - /* New arguments for the Interrupt Manager Extension: - */ +#ifdef BSP_FEATURE_IRQ_EXTENSION const char * info; rtems_option options; rtems_interrupt_handler interrupt_wrapper; |