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/src/libchip/network/smc91111.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 '')
-rw-r--r-- | c/src/libchip/network/smc91111.c | 44 |
1 files changed, 24 insertions, 20 deletions
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 */ |