summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-08-30 13:16:35 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-08-30 13:16:35 +0000
commitb907a78b7a671f04ec193c88f48c3dec8d2f70b2 (patch)
treecedf4c309fca4332b18bba468ede7485905d040b /c
parent2011-08-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-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/ChangeLog5
-rw-r--r--c/src/libchip/network/smc91111.c44
-rw-r--r--c/src/libchip/network/smc91111exp.h6
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;